Opencv学习(一)——图片的加载显示和保存
发布日期:2021-05-07 22:56:12 浏览次数:24 分类:精选文章

本文共 1132 字,大约阅读时间需要 3 分钟。

图片的加载与显示

在OpenCV中,图片的加载与显示是基本操作之一。程序员可以通过cv2.imread()函数来读取图片文件,这个函数接受两个参数:第一个是图片的路径,第二个是读取方式。读取方式有三种:

  • cv2.IMREAD_COLOR:默认参数,用于读取彩色图片,直接传递1即可。
  • cv2.IMREAD_GRAYSCALE:用于读取灰度图片,直接传递0即可。
  • cv2.IMREAD_UNCHANGED:用于读取包含透明度的图片,可以直接传递-1。

如果不指定读取方式,imread函数会默认读取原始图片。

一旦加载图片,可以使用cv2.imshow()函数来显示图片。在imshow()中,第一个参数是窗口的名字,第二个参数是要显示的图像。

例如:

im = cv.imread('fruit.png')  cv.imshow('color image', im)  cv.waitKey(0)

运行上述代码会弹出一个窗口,显示图片。按任意键继续。

需要注意的是,图片的显示方式与读取方式有关。例如,使用cv2.IMREAD_GRAYSCALE读取图片后显示的将是灰度图片,而使用cv2.IMREAD_COLOR则显示为彩色图片。

cv2.waitKey()函数用法

cv2.waitKey()函数用于等待键盘事件发生。其参数是等待的时间(以毫秒为单位)。

  • 如果时间设为0(cv2.waitKey(0)),则程序会在没有用户按键时立即继续执行,适用于等待用户按键。
  • 常用场景是在图片显示时,设置cv2.waitKey(0),表示等待用户按任意键继续。

例如:

cv.waitKey(0)

在程序运行时,用户需要按下任意键才能继续执行后续代码。

图像的保存

在OpenCV中,可以使用cv2.imwrite()函数来保存图片。这个函数接受三个参数:第一个是输出文件名,第二个是要保存的图像数据,第三个是可选的参数,用于控制保存格式和质量。

例如:

cv.imwrite('lena2.jpg', im)  # 保存为JPEG格式,质量为95  cv.imwrite('lina_jpeg_quality_90.jpg', im, [int(cv.IMWRITE_JPEG_QUALITY), 90])  # 保存为PNG格式,压缩率为2  cv.imwrite('line_png_compress_2.png', im, [int(cv.IMWRITE_PNG_COMPRESSION), 2])

需要注意的是:

  • 对于JPEG格式,第二个参数是质量,数值越高质量越好,默认为95。
  • 对于PNG格式,第二个参数是压缩率,数值越大压缩率越高,图片文件越小,默认为0。
上一篇:Opencv学习(二)——读取图像信息
下一篇:基于FPGA的数字钟——(三)时钟显示模块(数码管)

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2025年03月31日 01时34分30秒