ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

OpenCV函数用法详解1~10,含代码示例

2022-02-21 20:07:30  阅读:217  来源: 互联网

标签:10 img 示例 300 imshow cv2 OpenCV np 255


用于等待按键,当用户按下键盘后,该语句将被执行,并获取其返回值当 delay > 0 时,程序在给定的 delay 时间内等待用户按键触发 或者 等待一个delay时间,程序继续执行。若 delay = 0 时,则表示用户必须点击键盘触发程序继续执行。

cv2.waitKey(5000) # 5000ms,5s 程序继续执行,当然可以点击键盘立即执行

4.cv2.destroyWindow()

用于释放或销毁指定窗口,winname是窗口名称

None = cv2.destroyWindow(winname)

5.cv2.destroyAllWindows()

用于释放或销毁所有窗口

None = cv2.destroyAllWindows()

6.cv2.imwwrite()

用于保存图像,retval 是返回值。如果保存成功,则返回逻辑值真(True);如果保存不成功,则返回逻辑值假(False)

filename是要保存的目标文件路径名,包含文件扩展名。img是被保存的图像名称。

params 是保存类型参数,是可选的。

 retval = cv2.imwwrite(filename,img[, params])

可运行案例

import cv2 as cv
import numpy as np
img = np.ones([400, 400, 1], np.uint8)
img = img*0
# img[:, :, 0] = np.ones([400, 400])*127
cv.imshow("new image", img)
cv.waitKey(5000)  # 5000ms,5s 程序继续执行,当然可以点击键盘立即执行
cv.imwrite("D:/myImage.png", img)

7.图像分类

1.二值图像

二值图像(仅包括黑色和白色两种颜色)

白色像素点为1,黑色像素点为0

2.灰度图像

灰度图像(灰度处理为256个灰度级(正好是一个字节)用数值区间[0,255]表示 ),

其中。[0]表示纯黑色,[255] 表示纯白色

3.彩色图像

彩色图像 三基色(红、绿、蓝)

RGB色彩空间中,存在R红色通道、G绿色通道、B蓝色通道

不同组合后可以调配出常见的256256256=16777216种颜色

通道顺序是R->G->B 例如(205,89,68)

8.像素处理

#生成一个8*8的二维数组,所有值都为0,,,数据类型为np.uint8,(其实可以看成一个黑色图像。)
#img[0, 3] = 255   是将第0行第3列的像素点设置为255
#img = np.zeros((8, 8), dtype=np.uint8)

import cv2
import numpy as np
img = np.zeros((8, 8), dtype=np.uint8)
print("img = \n", img)
cv2.imshow("one",img)
print("读取像素点 img[0, 3]=", img[0, 3])
img[0, 3] = 255
print("修改后 img = \n", img)
print("读取修改后的像素点 img [0, 3] = ",img[0, 3])
cv2.imshow("two", img)
cv2.waitKey()
cv2.destroyAllWindows()

9.对一块图像的编辑

(就是把一整块变成某个颜色)

import cv2
img = cv2.imread("C:/Users/Lenovo/PycharmProjects/pythonProject3/IMG_0228.JPG", 0)
cv2.imshow("before", img)
for i in range(10, 100):
    for j in range(80, 100):
        img[i, j] = 255
cv2.imshow("after", img)
cv2.waitKey()
cv2.destroyAllWindows()

10.创建三个单色图片

其中!前面两个:代表选中图片的所有行数,和列数,1代表第2个通道(0代表第一个通道)。

如果有一个图片img,则img[20:30, 60:70, 1]就表示选中图片的第20到30行,第60到70列,以及第2个通道。

#[300(图片的行数),300(图片的列数,3(图片的通道数)]

import numpy as np
import cv2
# ---------------blue---------------
blue = np.zeros((300, 300, 3), dtype=np.uint8)
blue[:, :, 0] = 255
print("blue = \n", blue)
cv2.imshow("blue", blue)
# -------------green---------------
green = np.zeros((300, 300, 3), dtype=np.uint8)
green[:, :, 1] = 255
print("green = \n", green)
cv2.imshow("green", green)
# -------------red---------------
red = np.zeros((300, 300, 3), dtype=np.uint8)
red[:, :, 2] = 255
print("red = \n", red)
cv2.imshow("red", red)
# -------------释放窗口---------------
cv2.waitKey()
cv2.destroyAllWindows()

标签:10,img,示例,300,imshow,cv2,OpenCV,np,255
来源: https://blog.csdn.net/QiaoLiu___lq/article/details/123054589

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有