返回顶部
首页 > 资讯 > 后端开发 > Python >利用OpenCV判断是否加载图片的两种方法
  • 940
分享到

利用OpenCV判断是否加载图片的两种方法

OpenCV判断判断是否加载图片OpenCV加载图片 2022-11-13 19:11:12 940人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录OpenCV判断是否加载图片问题【方法一】【方法二】OpenCV图片的加载显示和保存图片的加载与显示图像的保存OpenCV判断是否加载图片问题 OpenCV加载图片是图像处理最基

OpenCV判断是否加载图片问题

OpenCV加载图片是图像处理最基本的操作,但有的时候我们加载图片会因为图片路径不正确或者没有图片等原因而报错,经常写代码的凭经验就知道是哪错了,但初学者一般是看不懂这些错误,就会很恼火了,如果加个判断语句就会不一样了啥,如果是图片路径的原因而导致加载不到图片,它会在终端显示你要输出的错误信息,这样一看就很清楚了。

【方法一】

src = imread( "1.jpg" ,CV_LOAD_IMAGE_COLOR );    //注意路径得换成自己的
//判断是否加载图片
if(!src.data)
{
    cout<<"Picture loading failed !"<<endl;
    return -1;
}

注意:判断里面是!src.data,有感叹号,没括号的,它不是函数。

【方法二】

src = imread( "1.jpg" ,CV_LOAD_IMAGE_COLOR );    //注意路径得换成自己的
if(src.empty())
{
    cout<<"Picture loading failed !"<<endl;
    return -1;        
}

注意:判断里面是src.empty(),这里就调用了一个函数,输代码的时候要仔细。

最后放张图:

OpenCV图片的加载显示和保存

图片的加载与显示

import cv2 as cv
import numpy as np
'''
cv2.imread()
imread函数有两个参数,第一个参数是图片路径,第二个参数表示读取图片的形式,有三种:

cv2.IMREAD_COLOR:加载彩色图片,这个是默认参数,可以直接写1。
cv2.IMREAD_GRAYSCALE:以灰度模式加载图片,可以直接写0。
cv2.IMREAD_UNCHANGED:包括alpha,可以直接写-1。
而imread函数的第二个参数不写就是默认读原始图片

imshow()函数:
有两个参数,第一个参数为显示的窗口名,第二个为显示的图像
'''
im=cv.imread('C:/Users/ASUS/Desktop/rgb2gray/fruit.png')#读取原始图片
im2=cv.imread('C:/Users/ASUS/Desktop/rgb2gray/fruit.png',cv.IMREAD_COLOR)#读取RGB彩色图片
cv.imshow('color image',im)
cv.imshow('color image2',im2)
cv.waiTKEy(0)

运行结果

可以看到两种形式是一样的

另:cv2.waitKey()函数用法:

waitKey()–是在一个给定的时间内(单位ms)等待用户按键触发;

如果用户没有按下键,则接续等待(循环)

常见:设置waitKey(0),则表示程序会无限制的等待用户的按键事件

一般在imgshow的时候,如果设置waitKey(0),代表按任意键继续

图像的保存

cv.imwrite('lena2.jpg',im)
cv.imwrite('lina_jpeg_quality_90.jpg',im,[int(cv.IMWRITE_JPEG_QUALITY),90])
cv.imwrite('line_png_compress_2.png',im,[int(cv.IMWRITE_PNG_COMPRESSioN),2])

cv2.imwrite函数的第三个参数指定保存图像的质量或者压缩率。对于jpeg,其表示图像的质量,0-100,数值越大图像质量越好,默认值是95。对于png,设置的值压缩率,0-9,数值越大压缩率越高,图像越小。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 利用OpenCV判断是否加载图片的两种方法

本文链接: https://lsjlt.com/news/171169.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作