OpenCV库函数cv2.imread加载图像失败解决方法

目录

​编辑

概述

正文

问题描述

尝试解决方案

最终解决方案

 源码


概述

使用OpenCV 库函数cv2.imread()读取图像文件时终端报错“can't open/read file: check file path/integrity”,发现原因为图像文件的中文命名导致;

正文

问题描述

使用OpenCV 库函数cv2.imread()读取图像文件时终端报错“can't open/read file: check file path/integrity”,代码如下:

# 加载图像
image = cv2.imread(r'G:\learning\python\code\龙猫.jpg')

终端报错如下 :

[ WARN:0@0.023] global loadsave.cpp:241 cv::findDecoder imread_('G:\learning\python\code\榫欑尗.jpg'): can't open/read file: check file path/integrity
Error: 图像加载失败!

尝试解决方案

以为是图像文件路径格式有问题,改了路径如下:

# 加载图像
image = cv2.imread('G:\\learning\\python\\code\\龙猫.jpg')

还是一样的报错;

将文件复制到代码路径下,使用相对路径,也是一样的报错:

# 加载图像
image = cv2.imread('龙猫.jpg')

最终解决方案

观察到终端报错中文字为乱码,觉得有可能是中文名称的问题,代码改为如下:

# 加载图像
image = cv2.imread(r'G:\learning\python\code\LM.jpg')

问题解决,输出处理后的图片如下: 

 源码

import cv2
import numpy as np

# 加载图像
image = cv2.imread(r'G:\learning\python\code\LM.jpg')


if image is None:
    print("Error: 图像加载失败!")
else:
    # 从 BGR 转换到 RGB
    rgb_image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
    
    # 从 BGR 转换到 GRAY
    gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    
    # 从 BGR 转换到 HSV
    hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
    
    # 从 BGR 转换到 HLS
    hls_image = cv2.cvtColor(image, cv2.COLOR_BGR2HLS)
    
    # 从 BGR 转换到 YUV
    yuv_image = cv2.cvtColor(image, cv2.COLOR_BGR2YUV)
    
    # 从 BGR 转换到 YCrCb
    ycrcb_image = cv2.cvtColor(image, cv2.COLOR_BGR2YCrCb)
    
    # 从 BGR 转换到 Lab
    lab_image = cv2.cvtColor(image, cv2.COLOR_BGR2LAB)

    # 显示原图和转换后的图像
    cv2.imshow('Original Image', image)
    cv2.imshow('RGB Image', rgb_image)
    cv2.imshow('Gray Image', gray_image)
    cv2.imshow('HSV Image', hsv_image)
    cv2.imshow('HLS Image', hls_image)
    cv2.imshow('YUV Image', yuv_image)
    cv2.imshow('YCrCb Image', ycrcb_image)
    cv2.imshow('Lab Image', lab_image)

    cv2.waitKey(0)
    cv2.destroyAllWindows()

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

codegrabber

如果觉得文章有用,请随意‘投喂

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值