oranges98 2023-09-12 18:26 采纳率: 62.5%
浏览 30

opencv报错, module 'cv2' has no attribute

在运行opencv-python代码发生如下错误

Traceback (most recent call last):
  File "F:\imageprocessingproject\tuxiangchuli\开运算.py", line 36, in <module>
    zernike_moments = calculate_zernike_moments(image, zernike_radius, zernike_degree)
  File "F:\imageprocessingproject\tuxiangchuli\开运算.py", line 6, in calculate_zernike_moments
    moments = cv2.zernike_moments(image, radius, degree)
AttributeError: module 'cv2' has no attribute 'zernike_moments'

我查了一些相关的,也安装了相同版本的opencv-python 与opencv-concontrib-python。但还是解决不了。这个怎么解决呢?报错代码如下:

import cv2
import numpy as np

def calculate_zernike_moments(image, radius, degree):
    # 计算zernike矩
    moments = cv2.zernike_moments(image, radius, degree)
    return moments

def subpixel_edge_detection(image):
    # 使用亚像素级别的边缘检测算法,例如Sobel或Canny
    edges = cv2.Canny(image, 100, 200)
    return edges

def iterative_calibration(image, initial_guess):
    # 使用迭代优化方法进行自动校准,可以使用优化库如scipy.optimize进行优化
    # 初始猜测参数为initial_guess
    # 在每次迭代中调整参数,直到满足条件为止
    calibrated_parameters = initial_guess  # 示例中的初始猜测参数
    # 在这里你需要实现迭代过程,使用优化库进行参数调整
    return calibrated_parameters

def fine_tune_and_feedback(image, detected_edges, calibrated_parameters):
    # 使用精细调整和反馈机制对检测结果进行修正和优化
    # 根据检测到的边缘和校准后的参数进行修正
    # 返回优化后的边缘结果
    # 在这里你需要实现相应的修正和优化逻辑
    optimized_edges = detected_edges  # 示例中直接返回了未经优化的边缘
    return optimized_edges

# 加载图像
image = cv2.imread("C:/Users/LYX/Desktop/tuxiangchuli/8-da.jpg", cv2.IMREAD_GRAYSCALE)

# 计算zernike矩
zernike_degree = 10  # 可根据实际需求调整
zernike_radius = 100  # 可根据实际需求调整
zernike_moments = calculate_zernike_moments(image, zernike_radius, zernike_degree)

# 亚像素级边缘检测
detected_edges = subpixel_edge_detection(image)

# 自动校准
initial_guess = [0, 0, 0]  # 示例中的初始猜测参数
calibrated_parameters = iterative_calibration(image, initial_guess)

# 修正和优化
optimized_edges = fine_tune_and_feedback(image, detected_edges, calibrated_parameters)

# 显示结果
cv2.imshow('Original Image', image)
cv2.imshow('Optimized Edges', optimized_edges)

cv2.waitKey(0)
cv2.destroyAllWindows()

  • 写回答

1条回答 默认 最新

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

    【相关推荐】



    • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7412266
    • 你也可以参考下这篇文章:安装cv2(opencv-python)遇到的一些问题
    • 除此之外, 这篇博客: ubuntu服务器安装cv2中的 opencv_python: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

      import cv2 报错多种安装调试后仍显示
      ImportError: libXext.so.6: cannot open shared object file: No such file or directory
      ImportError: libXrender.so.1: cannot open shared object file: No such file or directory


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 9月12日

悬赏问题

  • ¥15 pycharm添加远程解释器报错
  • ¥15 如何让子窗口鼠标滚动独立,不要传递消息给主窗口
  • ¥15 如何能达到用ping0.cc检测成这样?如图
  • ¥15 关于#DMA固件#的问题,请各位专家解答!
  • ¥15 matlab生成的x1图不趋于稳定,之后的图像是稳定的水平线
  • ¥15 请问华为OD岗位的内部职业发展通道都有哪些,以及各个级别晋升的要求
  • ¥20 微信小程序 canvas 问题
  • ¥15 系统 24h2 专业工作站版,浏览文件夹的图库,视频,图片之类的怎样删除?
  • ¥15 怎么把512还原为520格式
  • ¥15 MATLAB的动态模态分解出现错误,以CFX非定常模拟结果为快照