OpenCV图像处理笔记[01]
1. 图像读入、显示与保存
-
1.1 读入图像
retval = cv2.imread(文件名,[,显示控制参数])
文件名: 完整文件名
参数: cv.IMREAD_UNCHANGED
cv.IMREAD_GRAYSCALE
cv.IMREAD_COLOR
例:img = cv2.imread("d:\\image.jpg")
-
1.2 显示图像
None = cv2.imshow(窗口名,图像名)
例:cv2.imshow("demo",imgage)
retval = cv2.waitKey( [,delay])
delay:
-
delay > 0 等待delay毫秒
-
delay < 0 等待键盘单击
-
delay = 0 无限等待
例:cv2.waitKey(0)
cv2.destroyAllWindows()
功能: 删除所有窗口
-
1.3 保存图像
retval = cv2.imwrite(文件地址,文件名)
例: cv2.imwrite('D:\\test.jpg',img)
2. 图像处理入门基础
- 图像是由像素构成的
- 图像的分类
二值图像 :值为 0或者1
灰度图像 :值为0~255
0:白色
255:黑色
0~255之间:灰色
彩色图像 - RGB图像 : (205,89,69)
BGR图像 : opencv中通常是BGR图像,所以通常需要处理成RGB图像
图像处理通常用的操作: RGB转灰度
灰度转二值
3. 像素处理
-
3.1 读取像素
返回值 = 图像(位置参数)
灰度图像,返回灰度值
例:p = img[88,142]
print(p)
BGR图像,返回值为B, G, R的值
例:
打印单个通道的值
blue = img[78,125,0]
print(blue)
打印三个通道的值
p = img[78,125]
print(p)
-
3.2 修改像素值
灰度图像
例:img[88,99] = 255
BGR图像
例:img[88,99,0] = 255
img[88,99,1] = 255
img[88,99,2] = 255
或:img[88,99] = [255,255,255]
4. 使用numpy访问像素
-
4.1 读取像素
返回值 = 图像.item(位置参数)
例:Blue = img.item(78,125,0)
Green = img.item(78,125,1)
Red = img.item(78,125,2)
-
4.2 修改像素
图像名.itemset(位置,新值)
Img.itemset((88,99),255)
5. 获取图像属性
-
Shape: 可以获取图像的形状,返回包含行数、列数、通道数的元组
- 灰度 返回行数,列数
- 彩色 返回行数,列数,通道数
-
Size: 可以获取图像的像素数目
- 灰度 返回:行数列数
- 彩色 返回:行数列数 通道数
-
dtype: 返回的是图像的数据类型
6. 感兴趣区域ROI
-
从被处理的图像以方框、圆、椭圆、不规则多边形等方式勾勒出需要处理的区域
可以通过各种算法和函数来求得感兴趣区域ROI,并进行图像的下一步处理。
本文作者:Hecto
本文链接:https://www.cnblogs.com/tow1/p/16546301.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步