oranges98 2023-09-08 20:24 采纳率: 62.5%
浏览 9
已结题

opencv运行报错怎么解决

各位,能帮我看一下这个报错怎么解决吗?
错误如下:

Traceback (most recent call last):
  File "F:\imageprocessingproject\tuxiangchuli\改进zernike.py", line 36, in <module>
    cv2.imwrite("C:/Users/LYX/Desktop/tuxiangchuli/zer-da.jpg", result1)
cv2.error: OpenCV(4.7.0) :-1: error: (-5:Bad argument) in function 'imwrite'
> Overload resolution failed:
>  - img is not a numerical tuple
>  - Expected Ptr<cv::UMat> for argument 'img'


代码如下:

import cv2
import numpy as np

# Load image
img = cv2.imread("C:/Users/LYX\Desktop/tuxiangchuli/gary-da.jpg", 0)

# Compute Zernike moments
moments = cv2.moments(img)
cx = int(moments['m10']/moments['m00'])
cy = int(moments['m01']/moments['m00'])
M20 = moments['m20']/moments['m00']
M02 = moments['m02']/moments['m00']
M11 = moments['m11']/moments['m00']

# Compute Laplacian of Gaussian

laplacian = cv2.Laplacian(img, -1)

# Compute Zernike-Laplacian
zernike_laplacian = cv2.filter2D(laplacian, -1, cv2.getGaussianKernel(5, 1.5), cv2.BORDER_REPLICATE)

# Apply mask to zero out negative values

mask = np.zeros_like(zernike_laplacian)
mask[zernike_laplacian >= 0] = 1

# Apply mask to input image
result = cv2.bitwise_and(img, img, mask=mask)

# Apply adaptive thresholding
threshold_type = cv2.THRESH_BINARY + cv2.THRESH_OTSU
threshold_level =0.1
result1 = cv2.threshold(result, threshold_level, 255, threshold_type)

# Save result
cv2.imwrite("C:/Users/LYX/Desktop/tuxiangchuli/zer-da.jpg", result1)

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-09-08 22:07
    关注

    【以下回答由 GPT 生成】

    根据报错信息来看,问题出现在 cv2.imwrite 函数中。该函数期望的参数类型与实际传入的参数不匹配。

    具体来说,在你的代码中,cv2.threshold 函数返回的是一个元组 (retval, thresholded_image),但 cv2.imwrite 函数期望的是一个图像对象作为参数,而不是一个元组。

    解决这个问题的方法是,将 cv2.threshold 函数调用的结果中的第二个元素 thresholded_image 作为参数传递给 cv2.imwrite 函数。修改代码如下:

    # Save result
    cv2.imwrite("C:/Users/LYX/Desktop/tuxiangchuli/zer-da.jpg", result1[1])
    

    这样就解决了报错问题。重新运行代码,即可将结果保存为图片。

    希望对你有帮助!如果还有其他问题,请随时提问。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月20日
  • 已采纳回答 9月12日
  • 创建了问题 9月8日

悬赏问题

  • ¥30 要求把带有文件的上级文件夹改成文件的名字。要求BAT
  • ¥30 不会,学习,有偿解答
  • ¥15 SQL查询语句报错(检查)
  • ¥15 此表中公式应该怎么写
  • ¥15 求HI-TECH PICC 9.50 PL3安装包
  • ¥15 下载ctorch报错,求解
  • ¥15 如何入门学习c语言,单片机
  • ¥15 idea 编辑语言的选择
  • ¥15 Windows下部署Asmjit
  • ¥15 请问双层规划模型的上下层目标函数不一致,是如何保证迭代收敛性的