python+opencv 角点检测

"""
功能:导入图片,进行边缘检测,并显示
"""

import cv2
import numpy as np

class MainWindow():

    def __init__(self):
        super().__init__()
        img = cv2.imread("D:/Users/xuyf2/Desktop/project_C/cap_2/2cp1638667968.jpg")
        img = img[357:517, 613:779]  # 左侧矩形

        scr1 = cv2.medianBlur(img, 5)
        gray = cv2.cvtColor(scr1, cv2.COLOR_BGR2GRAY)
        gray = cv2.medianBlur(gray, 5)

        # Otsu方法
        t2, dst2 = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
        cv2.imshow("3", dst2)

        edges = cv2.Canny(dst2, 150, 400, L2gradient=False)
        cv2.imshow("bianyuanjiance", edges)

        gra = np.float32(edges)
        corners = cv2.goodFeaturesToTrack(gra, 50, 0.1, 70)
        # corners = cv2.goodFeaturesToTrack(gra, 50, 0.1, 40)

        corners = np.int0(corners)
        coordinate = []
        zuobiaos = []
        for i in corners:
            x, y = i.ravel()
            coordinate0 = [x, y]
            zuobiaos.append([x, y])
            coordinate.append(coordinate0)
            photo_jiaodian = cv2.circle(gray, (x, y), 4, (0, 0, 255), -1)
            cv2.imshow("jiaodian", photo_jiaodian)

if __name__ == '__main__':

    mainWindow = MainWindow()
    cv2.waitKey(0)
    cv2.destroyAllWindows()
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

凡先生的笔

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值