首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在python中使用cv::Mat?

如何在python中使用cv::Mat?
EN

Stack Overflow用户
提问于 2019-05-21 19:55:25
回答 2查看 2.5K关注 0票数 -2

我在做一个瞳孔检测项目。我找到了这个使用此链接中提供的图像梯度方法跟踪眼球中心的链接。

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

他用c++实现了这个想法,我想把它转换成python代码。在我使用这个空的createCornerKernel()函数之前,一切都很顺利。

代码语言:javascript
复制
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);
}

如何在python中转换这个cv::mat(4,6,CV_32F,kEyeCornerKernel)?

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-22 06:31:11

代码语言:javascript
复制
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]])
票数 2
EN

Stack Overflow用户

发布于 2019-05-22 14:56:21

我已经在这个问题上做了一些工作,只是为了找到解决方案。正如@storm洲建议的那样,我终于能够解决这个问题了。

对于我自己的问题,python中的空createCornerkernels()函数应该是

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56237753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档