OpenCV自学笔记2:访问图像数据
来源:互联网 发布:手机版电子杂志软件 编辑:程序博客网 时间:2024/06/02 03:14
访问图像数据
引言:
由于图像在计算机中的表示是一个矩阵,因此我们时不时需要访问或修改矩阵中的数据,实现基本的图像处理。同时Python提供了一个开源计算库:numpy,可以非常方便地用于矩阵计算。
# -*- coding:utf-8 -*-import cv2# imread函数用于读入一幅图像,该函数的返回值是一个矩阵image = cv2.imread('images/test.jpg')# numpy.array提供了item()函数,可以访问矩阵中特定位置的特定通道的像素值# 函数有三个参数:x, y 和通道print(image.item(150, 120, 0)) # 输出一个整数,我这里是216# itemset()函数可设定像素值# 函数有两个参数:一个三元组(x, y 和通道)和要设定的像素值image.itemset((150, 120, 0), 255)print(image.item(150, 120, 0)) # 输出新设定的值,255cv2.waitKey(0)
程序的运行结果如下:
————————————————————————–
将指定通道(B、G、R中的G)的值置为0
# -*- coding:utf-8 -*-import cv2image = cv2.imread('images/test.jpg')cv2.namedWindow("Image")# 获得所有行和列的全部像素,1是B、G、R中G的下标image[:, :, 1] = 0 # B、G、R中的Gcv2.imshow("Image", image)cv2.waitKey(0)
程序的运行结果如下:
————————————————————————–
将感兴趣区域涂黑
import cv2image = cv2.imread('images/test.jpg')cv2.namedWindow("Image")# 我们设置(0,0)到(100,100)的正方形区域为感兴趣区roi = image[0:100, 0:100] roi[:] = 0 #将roi区域内的全部像素设置为0,0表示黑色cv2.imshow("Image", image)cv2.waitKey(0)
程序的运行结果如下,我们可以看到(0,0)到(100,100)的正方形区域被置为黑色:
————————————————————————–
复制感兴趣区域
# -*- coding:utf-8 -*-import cv2image = cv2.imread('images/test.jpg')cv2.namedWindow("Image")roi = image[0:100, 0:100] #设置感兴趣区域# 将感兴趣区域的像素复制给(200, 200)到(300, 300)的正方形区域# 两个区域的大小需要相同,大小不仅包括长宽,还要求通道数也相等image[200:300, 200:300] = roi cv2.imshow("Image", image)cv2.waitKey(0)
程序的运行结果如下,我们可以看到(200,200)到(300,300)的正方形区域 与 (0,0)到(100,100)的正方形区域具有相同的像素值:
下一节,将介绍使用OpenCV进行图像的边缘检测
阅读全文
1 0
- OpenCV自学笔记2:访问图像数据
- opencv访问图像数据
- OpenCV学习笔记——使用OpenCV访问图像数据
- OpenCV自学笔记6. 图像分割
- 重温OpenCV图像数据访问
- OpenCV使用不同方式访问图像数据
- 访问opencv的Mat中的图像数据
- 【OpenCV学习笔记】十、访问图像像素
- OpenCV 2 访问图像像素
- [OpenCV自学笔记]Day1 如何打开一张图像
- OpenCV自学笔记12. 识别图像中的红色圆形
- opencv学习笔记-入门(7)单通道的图像数据访问
- OpenCV自学笔记目录
- opencv笔记(2):图像形态学
- OpenCV----访问图像元素
- opencv访问图像像素
- opencv访问图像
- opencv访问图像像素
- PHP源码之数组的内部实现
- js 中getAttribute和setAttribute属性
- Mysql单机多实例搭建说明
- [sicily] 1002. 等价二叉树
- 模仿QueryRunner的底层实现
- OpenCV自学笔记2:访问图像数据
- 电脑耳机只能听到伴奏原声声音很小该怎么办?
- java获取工程目录下面或者引用jar包中的配置文件方式:
- 创建React Component的几种方式
- OPenGl编程宝典在vs2010中配置
- BZOJ 3994 [SDOI2015]约数个数和
- 给定一个字符串,你需要颠倒一个句子中每个单词中的字符顺序,同时保留空格和初始单词顺序。
- FreeRTOS实验_独立看门狗监视多线程
- Gang Black and Gang White (二分图染色法)