如何使用python中的cv ::垫子

How to use cv::Mat in python?

本文关键字:垫子 cv 中的 何使用 python      更新时间:2023-10-16

我正在研究眼瞳检测项目。我发现了使用此链接中提供的图像梯度方法进行眼中心跟踪的链接。

link- http://thume.ca/projects/2012/11/04/simple-accurate-accurate-eye-center-tracking-in-opencv/

他已经在C 中实现了这个想法,我想将其转换为Python代码。一切都会顺利,直到我到达这个void createCornerkernel((函数。

cv::Mat *leftCornerKernel;
cv::Mat *rightCornerKernel;
// not constant because stupid opencv type signatures
float kEyeCornerKernel[4][6] = {
  {-1,-1,-1, 1, 1, 1},
  {-1,-1,-1,-1, 1, 1},
  {-1,-1,-1,-1, 0, 3},
  { 1, 1, 1, 1, 1, 1},
};
void createCornerKernels() {
  rightCornerKernel = new cv::Mat(4,6,CV_32F,kEyeCornerKernel);
  leftCornerKernel = new cv::Mat(4,6,CV_32F);
  // flip horizontally
  cv::flip(*rightCornerKernel, *leftCornerKernel, 1);
}

我如何转换此CV :: MAT(4,6,CV_32F,KeyeCornerKernel(?

任何帮助将不胜感激。

rightCornerKernel = np.array([[-1, -1, -1, 1, 1, 1],
                              [-1, -1, -1, -1, 1, 1],
                              [-1, -1, -1, -1, 0, 3],
                              [1, 1, 1, 1, 1, 1]])

我一直在为此做更多的工作,只是为了找到解决方案。正如@stormzhou所建议的那样,我终于能够解决这个问题。

回答我自己的问题,python中的void createCornerkernels((函数将为

def createCornerkernels():
    leftCornerkernel = None
    rightCornerKernel = np.array([[-1, -1, -1, 1, 1, 1],
                                  [-1, -1, -1, -1, 1, 1],
                                  [-1, -1, -1, -1, 0, 3],
                                  [1, 1, 1, 1, 1, 1]])
    leftCornerKernel = cv2.flip(rightCornerkernel, 1)
    return leftCornerKernel, rightCornerKernel