open cv学习 (一)像素的操作

这篇具有很好参考价值的文章主要介绍了open cv学习 (一)像素的操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

open cv 入门

像素的操作

demo1
import cv2
import os
import numpy as np

# 1、读取图像
# imread()方法

# 设置图像的路径
Path = "./img.png"
# 设置读取颜色类型默认是1代表彩色图 0 代表灰度图
# 彩色图
flag = 1
# 灰度图
#flag = 0

# 读取图像,返回值是一个图像对象

image = cv2.imread(Path, flag)

# 0 ~ 255代表黑色到纯白色

# 打印该图像输出的是部分像素值
# print(image)


# 2、显示图像

# 显示图像

cv2.imshow("QQ", image)

# 等待按键按下,单位是ms

cv2.waitKey()

# 按下任意按键后摧毁所有窗口
cv2.destroyAllWindows()


# 3、保存图像

# 创建目录
# 在当前目录下创建一个目录
directory = "./My_Test_Photos"
# 如果不存在则创建
if not os.path.exists(directory):
    os.makedirs(directory)

# 保存图像到指定目录
file_path = os.path.join(directory, "test01.jpg")
cv2.imwrite(file_path, image)

# 4、获取图像属性

# shape (垂直像素数 水平像素数 通道数)

# size  (像素点总个数 = 垂直像素数 × 水平像素数 × 通道数) 灰度图通道数为 1

# dtype 图像的数据类型

image_Color = cv2.imread(Path,0)
print(image_Color.shape)
print(image_Color.size)
print(image_Color.dtype)
demo2
import cv2

image = cv2.imread("./cat.jpg")

cv2.imshow("cat", image)

for i in range(241, 292):
    for j in range(168, 219):
        image[i, j] = [255, 255, 255]
cv2.imshow("mycat", image)
cv2.waitKey()
cv2.destroyAllWindows()
demo3
import numpy as np

# 创建一维数组和二维数组
n1 = np.array([1, 2, 3])
n2 = np.array([0.1, 0.2, 0.3])
n3 = np.array([[1, 2], [3, 4]])

print(n1, n2, n3)

# 创建浮点数类型
my_list = [1, 2, 3]

n1 = np.array(my_list, dtype=np.float_)

# n1 = np.array(my_list, dtype=float)
print(n1)
print(n1.dtype)
print(type(n1[0]))

# 创建三维数组

nd1 = [1, 2, 3]
nd2 = np.array(nd1, ndmin=3)

print(nd2)
demo4
import numpy as np
# 指定维度数据类型未定义
n = np.empty([2, 3])

print(n)

# 创建全零数组
n1 = np.zeros((3, 3), dtype=np.uint8)


print(n1)
# 创建全一数组
ones = np.ones((4, 4), np.float_)
print(ones)

# 创建随机数组,三行三列,范围0-20
rand = np.random.randint(0, 20, (3, 3))

print(rand)

demo5文章来源地址https://www.toymoban.com/news/detail-654683.html

import cv2
import numpy as np
# 在opencv中黑白图像是一个二维数组,彩色图像是一个三维数组

# 创建黑白图像
flag = True
if flag:
    width = 200
    height = 100
    img = np.zeros((height, width), np.uint8)
    img[25:75, 50:100] = 255
    cv2.imshow("img", img)
    cv2.waitKey()
    cv2.destroyAllWindows()

else:
    width = 200
    height = 100
    img = np.ones((height, width), np.uint8)*255
    cv2.imshow("img", img)
    cv2.waitKey()
    cv2.destroyAllWindows()
demo6
import cv2
import numpy as np

width = 200
height = 100

img = np.zeros((height, width), np.uint8)
for i in range(0, width, 40):
    img[:, i+20] = 255
cv2.imshow("img", img)
cv2.waitKey()
cv2.destroyAllWindows()
demo7
import cv2
import numpy as np

width = 200
height = 100

# 创建指定宽高、3通道、像素值都为0的图像

img  = np.zeros((height, width, 3), np.uint8)

blue = img.copy()

blue[:, :, 0] = 255  # 通道1的所有像素值都为255

green = img.copy()

green[:, :, 1] = 255   # 通道2的所有像素值都为255

red = img.copy()

red[:, :, 2] = 255  # 通道3的所有像素值都为255
cv2.imshow("blue", blue)
cv2.imshow("green", green)
cv2.imshow("red", red)
cv2.waitKey()
cv2.destroyAllWindows()
demo8
import cv2
import numpy as np

# 创建随机图像
width = 200
height = 100

img = np.random.randint(256, size=(height, width, 3), dtype=np.uint8)

cv2.imshow("img", img)
cv2.waitKey()
cv2.destroyAllWindows()
demo9
import cv2
import numpy as np

# 拼接图像

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.array([7, 8, 9])
result = np.hstack((a, b, c))

print(result)
demo10
import cv2
import numpy as np
# 垂直拼接
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.array([7, 8, 9])
result = np.vstack((a, b, c))

print(result)
demo11
import cv2
import numpy as np
Path = "./cat.jpg"
img = cv2.imread(Path)
img_h = np.hstack((img, img))
img_v = np.vstack((img, img))

cv2.imshow("img_h", img_h)
cv2.imshow("img_v", img_v)

cv2.waitKey()
cv2.destroyAllWindows()

到了这里,关于open cv学习 (一)像素的操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机竞赛 机器视觉目标检测 - opencv 深度学习

    🔥 优质竞赛项目系列,今天要分享的是 🚩 机器视觉 opencv 深度学习目标检测 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:4分 🧿 更多资料, 项目分享: https://gitee.com/dancheng

    2024年02月07日
    浏览(70)
  • python+opencv+机器学习车牌识别 计算机竞赛

    🔥 优质竞赛项目系列,今天要分享的是 🚩 基于机器学习的车牌识别系统 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:4分 工作量:4分 创新点:3分 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-seni

    2024年02月07日
    浏览(68)
  • 计算机视觉+深度学习+机器学习+opencv+目标检测跟踪(代码+视频)

    计算机视觉、深度学习和机器学习是当今最热门的技术,它们被广泛应用于各种领域,如自动驾驶、医学图像分析、安防监控等。而目标检测跟踪技术则是计算机视觉中的一个重要分支,它可以帮助我们在图像或视频中自动识别和跟踪特定的目标。 下面我们来一一介绍这些技

    2024年02月01日
    浏览(112)
  • 深度学习图像风格迁移 - opencv python 计算机竞赛

    🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习图像风格迁移 - opencv python 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:4分 🧿 更多资料, 项目分享: https://gitee.com/danche

    2024年02月04日
    浏览(58)
  • 计算机竞赛 深度学习 python opencv 火焰检测识别

    🔥 优质竞赛项目系列,今天要分享的是 🚩 基于深度学习的火焰识别算法研究与实现 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:4分 工作量:4分 创新点:3分 🧿 更多资料, 项目分享: https://gitee.co

    2024年02月07日
    浏览(54)
  • 基于计算机视觉,深度学习、机器学习,OpenCV,图像分割,目标检测卷积神经网络计算机毕业设计选题题目大全选题指导

    随着深度学习、机器学习和神经网络技术的快速发展,计算机视觉领域的应用变得越来越广泛和有趣。本毕业设计旨在探索这一领域的前沿技术,将深度学习模型、神经网络架构、OpenCV图像处理工具,以及卷积神经网络(CNN)的强大能力结合起来,以解决实际图像处理问题。

    2024年02月08日
    浏览(79)
  • python 机器视觉 车牌识别 - opencv 深度学习 机器学习 计算机竞赛

    🔥 优质竞赛项目系列,今天要分享的是 🚩 基于python 机器视觉 的车牌识别系统 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:3分 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/postgraduate 车牌识别其实是个经典的机器视觉任务了,

    2024年02月06日
    浏览(57)
  • 计算机竞赛 python 机器视觉 车牌识别 - opencv 深度学习 机器学习

    🔥 优质竞赛项目系列,今天要分享的是 🚩 基于python 机器视觉 的车牌识别系统 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:3分 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/postgraduate 车牌识别其实是个经典的机器视觉任务了,

    2024年02月12日
    浏览(65)
  • 计算机竞赛 opencv python 深度学习垃圾图像分类系统

    🔥 优质竞赛项目系列,今天要分享的是 🚩 opencv python 深度学习垃圾分类系统 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:4分 这是一个较为新颖的竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/p

    2024年02月13日
    浏览(80)
  • 《OpenCV 计算机视觉编程攻略》学习笔记(一:图像编程入门)

    参考引用 OpenCV 计算机视觉编程攻略(第3版) 说明 本书结合 C++ 和 OpenCV 3.2 全面讲解计算机视觉编程 所有代码均在 Ubuntu 系统中用 g++ 编译执行 0. 安装 OpenCV 库 在Ubuntu上安装OpenCV及使用 OpenCV 库分为多个模块 ,常见模块如下 opencv_core 模块包含库的核心功能 opencv_imgproc 模块包

    2024年02月09日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包