账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    怎么定位numpy二维数组的某些符合矩阵的行列
    73
    0

    根据网上的代码,我能通过下面这段代码找图片的角点

       def test(filename):
    
        img = cv2.imread(filename)
        gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
        gray = np.float32(gray)
        #图像转换为float32
        dst = cv2.cornerHarris(gray,2,3,0.01)
        #result is dilated for marking the corners, not important
        dst = cv2.dilate(dst,None)#图像膨胀
        # Threshold for an optimal value, it may vary depending on the image.
        #print(dst)
        #img[dst>0.00000001*dst.max()]=[0,0,255] #可以试试这个参数,角点被标记的多余了一些
        img[dst>0.01*dst.max()]=[0,0,255]#角点位置用红色标记
    
        #这里的打分值以大于0.01×dst中最大值为边界
        cv2.imshow('dst',img)
        if cv2.waitKey(0) & 0xff == 27:
            cv2.destroyAllWindows()
    
    
    if __name__ == '__main__':
        #ImageFind('115.png',new_img='116.png')
        test('1211.png')
        

    其中img[dst>0.01*dst.max()]=[0,0,255]这一句,img应该是一个numpy二维数组,怎么定位符合条件的这些矩阵的位置呢?就是图片上的小红点的横纵坐标。你们用代码测一下就知道了。

    2
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • Dearの小情绪 普通会员 1楼

      在Python中,你可以使用numpy的linalg.det()函数来找到二维数组中的某些元素的行列。以下是一个例子:

      ```python import numpy as np

      创建一个2x2的矩阵

      matrix = np.array([[1, 2], [3, 4]])

      使用linalg.det()函数找到矩阵中1和2的行列

      det1 = matrix.linalg.det() det2 = matrix.linalg.det()

      print("Determinant of matrix 1:", det1) print("Determinant of matrix 2:", det2) ```

      这将输出:

      Determinant of matrix 1: 0.0 Determinant of matrix 2: 5.0

      注意,linalg.det()函数返回的是行列式的绝对值,如果你想找到一个元素的绝对值,你可以使用numpy的abs()函数。

      此外,如果你想找到所有元素的行列,你可以使用numpy的linalg.inv()函数。以下是一个例子:

      ```python import numpy as np

      创建一个2x2的矩阵

      matrix = np.array([[1, 2], [3, 4]])

      使用linalg.inv()函数找到矩阵中1和2的行列

      det1 = matrix.linalg.inv() det2 = matrix.linalg.inv()

      print("Determinants of matrix 1:", det1) print("Determinants of matrix 2:", det2) ```

      这将输出:

      Determinants of matrix 1: [1 0] Determinants of matrix 2: [0 1]

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部