OpenCV中文网站

 找回密码
 立即注册
搜索
热搜: 安装 配置
查看: 3655|回复: 4

求为啥这个函数不能运行谢谢cvFindChessboardCorners

[复制链接]
发表于 2018-10-16 17:06:44 | 显示全部楼层 |阅读模式
         
#include <iostream>  
#include <opencv2/core/core.hpp>  
#include <opencv2/opencv.hpp>
#include <opencv2/imgproc/imgproc.hpp>  
#include <opencv2/highgui/highgui.hpp>  
using namespace cv;
using namespace std;
int main(void)
{
//变量定义
CvSize  Pattern_size = (6, 9);//棋盘中每一行和每列角点的个数
Mat Original_Picture;
CvPoint2D32f *corners; //用于存放角点的容器
int found;
int corner_count;   //输出的角点数
corners = new CvPoint2D32f[6 * 9];
//1.0读取图像
VideoCapture capture(0);
while (1)
{
  capture >> Original_Picture;
//Mat Original_Picture = imread("1.jpg");//并转化为灰度
  cvtColor(Original_Picture, Original_Picture, CV_RGB2GRAY);
Mat copy = Original_Picture.clone(); //复制源图像到一个临时变量中,作为感兴趣区域
Original_Picture *= 1.0 / 255;

  //2.0初始化单帧数据(提取角点)
  found = cvFindChessboardCorners(&Original_Picture, cvSize(9, 6),
      corners,&corner_count, CV_CALIB_CB_ADAPTIVE_THRESH );
  cvFindCornerSubPix(&Original_Picture, corners, corner_count, cvSize(11, 11), cvSize(-1, -1), cvTermCriteria(CV_TERMCRIT_EPS + CV_TERMCRIT_ITER, 30, 0.1));
  //绘制检测到的角点
  cvDrawChessboardCorners(&Original_Picture, cvSize(9, 6), corners, corner_count, found);
  imshow("角点标识图", Original_Picture);

  imshow("ok", Original_Picture);
  waitKey(15);
}

return 0;

}
回复

使用道具 举报

发表于 2018-10-16 22:12:20 | 显示全部楼层
看看函数返回值,还有你所输入的图片。这个函数图片拍不好可能会检测不出来,你可以先做一些预处理。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-26 23:00:19 | 显示全部楼层
谢谢,想问您一下我在linux Ubuntu下用Qt开发包含路径啥的都能找到ml模块但是就是用不了,简单一个CvSVM就说是未定义的标识符
谢谢
回复 支持 反对

使用道具 举报

发表于 2018-10-30 20:08:33 | 显示全部楼层
两个size不同? 一个6 9 一个 9 6
回复 支持 反对

使用道具 举报

发表于 2018-11-1 19:49:42 | 显示全部楼层
opencv版本不对
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|OpenCV中文网站

GMT+8, 2024-4-26 05:56 , Processed in 0.010580 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表