2022-08-03 10:57阅读: 61评论: 0推荐: 1

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 中国大陆许可协议进行许可。

posted @   Hecto  阅读(61)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
🔑