OPEN CV 一些遵照例子
程序员文章站
2022-05-30 09:41:57
...
1.第一个程序,图像显示
pycharm中操作.
# -*- coding:utf-8 -*-
import cv2
"""
功能:读取一张狗狗,并显示出来
"""
image = cv2.imread('images/000.jpg') #给指定词语添加图片链接
cv2.imshow("Dog",image) # 给显示窗口命名并显示图片
cv2.waitKey(0) # 触碰任意键盘按键结束窗口和程序
2.特定通道像素值的读取和修改.
使用到了numpy中的item( )和itemset( )
# -*- coding:utf-8 -*-
import cv2
"""
功能:访问图像数据,输出原指定通道的像素值,然后修改后再输出修改像素值
"""
image = cv2.imread('images/000.jpg') #给指定词语添加图片链接
#imread函数的功能是输入一个图像,该函数的返回值是一个矩阵
#numpy.array提供了item()函数,可以访问矩阵中特定位置通道的像素值
#函数有三个参数,x,y,通道
print(image.item(150,120,0))#输出一个整数,输出的像素值由自己的图决定
#itemset()函数可设定像素值
#函数有两个参数,一个三元组(x,y,通道)和要设定的像素值
image.itemset((150,120,0),255)
print(image.item(150,120,0))#输出新设定的值,255
cv2.waitKey(0) # 触碰任意键盘按键结束窗口和程序
3.将BGR中的G置值
利用cv2读取图像和使用matlab读取图像在每个channel的值不同,cv2读入的形式为BGR,matlab读入的形式为RGB。
# -*- coding:utf-8 -*-
import cv2
image = cv2.imread('images/000.jpg')
#获得所有行和列的全部像素
image[:,:,1] = 0 #BGR中的G为1
#显示出来的狗呈现蓝红色
cv2.imshow("stange doggy",image)
cv2.waitKey(0)
4.将感兴趣的区域涂成黑色
# -*- coding:utf-8 -*-
import cv2
image = cv2.imread("images/000.jpg")
#选取(0.0)到(100,100)的正方形区域
image[0:100,0:100] = 0 #将图片这一块区域的像素设置为0,0表示黑色
cv2.imshow("black",image)
cv2.waitKey(0)
5.复制所选的像素值到指定的像素值.
# -*- coding:utf-8 -*-
import cv2
image = cv2.imread("images/000.jpg")
#将后者区域的像素复制给前者区域
#两个区域的大小需要相同,大小不仅包括长宽,还要求通道数相同.
#如下面尝试的数据,后者的数据就不能是600:500
image[300:400,300:400] = image[500:600,500:600]
cv2.imshow("black",image)
cv2.waitKey(0)