杭州大型网站建设,网站的建设模式是指什么时候开始,手机app开发工具有哪些,服务器购买一台多少钱目录1.读取图像1-1.imread()方法2.显示图像2-1.imshow()方法2-2.waitKey()方法2-3.destroyAllWindows()方法2-4.小总结3.保存图像3-1.imwrite()方法4.查看图像属性4-1.常见的三个图像属性1.读取图像 要对一幅图像进行处理#xff0c;第一件事就是要读取这幅图像。 1-1.imread(…
目录1.读取图像1-1.imread()方法2.显示图像2-1.imshow()方法2-2.waitKey()方法2-3.destroyAllWindows()方法2-4.小总结3.保存图像3-1.imwrite()方法4.查看图像属性4-1.常见的三个图像属性1.读取图像 要对一幅图像进行处理第一件事就是要读取这幅图像。 1-1.imread()方法 语法格式img cv2.imread(filename, flags) 参数说明 filename要读取的图像的文件路径(含文件名)相对/绝对路径均可字符串类型。 flags以什么颜色类型读取图像。默认值为1可以省略以彩色读取为0以灰度读取。 img读取了图像的所有像素值数组类型。 注 1.灰度图像以彩色读取仍然是灰度图像。 2.灰度图像的像素值为0(纯黑)~255(纯白)一共有256个灰度级。 实例 img.png 为彩色图像G_img.png为灰度图像。
2.显示图像
2-1.imshow()方法 语法格式cv2.imshow(winname, mat) 参数说明 winname显示图像的窗口名字符串类型。 mat要显示的图像ndarray类型。 注numpy中矩阵的维度只能是≤2只有二维及二维以内的数组与矩阵可相互转换且是数组的一部分。 实例 2-2.waitKey()方法 语法格式retval cv2.waitKey(delay) 参数说明 delay等待用户按下键盘的时间单位毫秒超过时间自动执行(相当于自动按键了)。值为负数、0或者空时表示无限等待。 retval有按键按下时接收该按键ASCII码没有按键按下时(delay≠0条件下)接收-1。 注 1.numpy中矩阵的维度只能是≤2只有二维及二维以内的数组与矩阵可相互转换且是数组的一部分。 2.有人可能会想delay0时没有按键按下retval接收到也是-1吗其实不是当没有按键按下时retval是接收不到值的程序相当于阻塞了只有按下按键阻塞没了retval才能接收到值(即键盘ASCII值)。键盘按下看作人为清除阻塞则返回键盘ASCIIdelay时间到了看作程序自己清除阻塞则返回-1。 实例 我按的是空格键所以ascii是32。
2-3.destroyAllWindows()方法 介绍销毁所有正在显示图像的窗口。 语法格式cv2.destroyAllWindows() 参数说明无 注cv2.destroyWindows(winname)可用来销毁指定窗口。 实例 按下按键一次后 再按下一次所有窗口被销毁程序结束。
2-4.小总结 imshow方法提供了一个用来显示图片的窗口并将窗口与指定的图片关联waitKey方法才是真正显示图片并控制程序是否阻塞在图片显示的时刻destroyAllWindows方法可以销毁窗口。 显示图片需要窗口图片imshow提供了一个窗口和指定的图片再用waitKey显示图片并阻塞程序在图片显示的时刻通过按键或倒计时告诉waitKey看完了waitKey就关闭阻塞图片自然就消失了但还有个窗口所以再用destroyAllWindows方法销毁窗口。 综上imshow方法常常后面跟着waitKey和destroyAllWindows方法(多个imshow时在最后一个imshow后面跟着即可因为真正显示图片的是waitKey方法) imshow只会和执行到imshow时的img绑定后面就算img像素值变了也没关系。如下图所示。 上面这几点仅代表我个人看法
3.保存图像
3-1.imwrite()方法 语法格式cv2.imwrite(filename, img) 参数说明 filename图像保存的文件路径(含文件名)相对/绝对路径均可字符串类型。img数组类型与上面imread方法中参数img一致。 实例 当前.py文件下会生成一个new_img.png文件。
4.查看图像属性
4-1.常见的三个图像属性 shape彩色图像为垂直像素H, 水平像素W, 通道数C灰度图像为垂直像素H, 水平像素W。灰度图像通道数C为1。 size图像包含的像素个数H*W*C。 dtype图像的数据类型应该就是像素值的数据类型。 实例