m0_60129161 2023-10-22 00:55 采纳率: 0%
浏览 29

,将图像转为灰度图像时,Pycharm运行出现问题,怎么修改?

下载了Pycarm和Anaconda,在Pycharm运行代码时出现下面报错,图片路径也是全英文,请问怎么修改?

img

D:\anaconda3\envs\helloword\python.exe D:/secondclass.py
[ WARN:0@0.625] global C:\b\abs_d8ltn27ay8\croot\opencv-suite_1676452046667\work\modules\imgcodecs\src\loadsave.cpp (239) cv::findDecoder imread_('C:\Users\User\Desktop\200524110515-1-1200\.jpg'): can't open/read file: check file path/integrity
Traceback (most recent call last):
  File "D:/secondclass.py", line 11, in <module>
    gray_image = cv2.cvtColor(original_image, cv2.COLOR_BGR2GRAY)
cv2.error: OpenCV(4.6.0) C:\b\abs_d8ltn27ay8\croot\opencv-suite_1676452046667\work\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'


进程已结束,退出代码 1

import cv2
import numpy as np
import matplotlib.pyplot as plt

# 读取图像

original_image = cv2.imread('C:\\Users\\User\\Desktop\\200524110515-1-1200\\.jpg')  # 替换成你的图像文件路径

# 将图像转换成灰度图像

gray_image = cv2.cvtColor(original_image, cv2.COLOR_BGR2GRAY)

# 应用高斯滤波以减小噪声

gaussian_image = cv2.GaussianBlur(gray_image, (5, 5), 2)  # 调整内核大小和标准差

# 使用Canny边缘检测

edge_image = cv2.Canny(gaussian_image, 100, 200)  # 调整阈值

# 显示原始图像、灰度图像、滤波后的图像和边缘图像

plt.figure(figsize=(12, 4))

plt.subplot(141)
plt.imshow(cv2.cvtColor(original_image, cv2.COLOR_BGR2RGB))
plt.title('原始图像')

plt.subplot(142)
plt.imshow(gray_image, cmap='gray')
plt.title('灰度图像')

plt.subplot(143)
plt.imshow(gaussian_image, cmap='gray')
plt.title('高斯滤波后的图像')

plt.subplot(144)
plt.imshow(edge_image, cmap='gray')
plt.title('Canny边缘检测')

plt.show()

# 可选:保存边缘图像到文件

cv2.imwrite('edge_image.jpg', edge_image)  # 替换成你想保存的文件路径

  • 写回答

3条回答 默认 最新

  • Python_enjoy 2023-10-26 17:21
    关注

    意思好像是无法访问,看看是不是打错路径了@m0_60129161

    评论

报告相同问题?

问题事件

  • 修改了问题 10月22日
  • 创建了问题 10月22日