小编dom*_*dom的帖子

OpenCV C++/Obj-C:检测一张纸/方形检测

我在我的测试应用程序中成功实现了OpenCV平方检测示例,但现在需要过滤输出,因为它非常混乱 - 或者我的代码是错误的?

我对本文的四个角点感兴趣,以减少偏斜(如此)和进一步处理......

输入输出: 输入输出

原始图片:

点击

码:

double angle( cv::Point pt1, cv::Point pt2, cv::Point pt0 ) {
    double dx1 = pt1.x - pt0.x;
    double dy1 = pt1.y - pt0.y;
    double dx2 = pt2.x - pt0.x;
    double dy2 = pt2.y - pt0.y;
    return (dx1*dx2 + dy1*dy2)/sqrt((dx1*dx1 + dy1*dy1)*(dx2*dx2 + dy2*dy2) + 1e-10);
}

- (std::vector<std::vector<cv::Point> >)findSquaresInImage:(cv::Mat)_image
{
    std::vector<std::vector<cv::Point> > squares;
    cv::Mat pyr, timg, gray0(_image.size(), CV_8U), gray;
    int thresh = 50, N = 11;
    cv::pyrDown(_image, pyr, cv::Size(_image.cols/2, _image.rows/2));
    cv::pyrUp(pyr, …
Run Code Online (Sandbox Code Playgroud)

c++ opencv image-processing objective-c computer-vision

171
推荐指数
3
解决办法
11万
查看次数

OpenCV C++/Obj-C:高级方检测

一段时间我问了一个关于方形检测的问题,karlphillip提出了一个不错的结果.

现在我想更进一步,找到边缘不完全可见的方块.看看这个例子:

例

有任何想法吗?我正在使用karlphillips代码:

void find_squares(Mat& image, vector<vector<Point> >& squares)
{
    // blur will enhance edge detection
    Mat blurred(image);
    medianBlur(image, blurred, 9);

    Mat gray0(blurred.size(), CV_8U), gray;
    vector<vector<Point> > contours;

    // find squares in every color plane of the image
    for (int c = 0; c < 3; c++)
    {
        int ch[] = {c, 0};
        mixChannels(&blurred, 1, &gray0, 1, ch, 1);

        // try several threshold levels
        const int threshold_level = 2;
        for (int l = 0; …
Run Code Online (Sandbox Code Playgroud)

c++ opencv image-processing objective-c object-detection

33
推荐指数
3
解决办法
5万
查看次数

OpenCV C++/Obj-C:正确的对象检测

作为某种"假期项目",我正在玩OpenCV并想要检测和测量内容.

当前工作流程(早期阶段 - 检测):

  1. 转换为灰度(cv :: cvtColor)
  2. 应用自适应阈值(cv :: adaptiveThreshold)
  3. 应用canny边缘检测(cv :: Canny)
  4. 寻找轮廓(cv :: findContours)

我的结果有点蹩脚,我不确定什么是正确的方向.我已经让cvBlob在我目前的设置下工作(OSX 10.7.2,Xcode 4.2.1)它是一个更好的方法吗?如果是这样,我该如何以正确的方式实施?

或者我首先需要背景扣除?我尝试过,但之后无法找到轮廓

这是我的形象: 图像来衡量

这是我的输出,当我将轮廓绘制回第一张图像时: 产量

UPDATE

我在我的程序中工作,我的输出看起来有点不同......

- (IBAction)processImage:(id)sender
{
    cv::Mat forground = [[_inputView image] CVMat];
    cv::Mat result = [self isolateBackground:forground];
    [_outputView setImage:[NSImage imageWithCVMat:result]];
}

- (cv::Mat)isolateBackground:(cv::Mat &)_image
{
    int rh = 255, rl = 100, gh = 255, gl = 0, bh = 70, bl = 0;
    cv::cvtColor(_image, _image, CV_RGB2HSV_FULL);
    cv::Mat element = getStructuringElement(cv::MORPH_RECT, cv::Size(5, 5));
    cv::Mat bgIsolation;
    cv::inRange(_image, cv::Scalar(bl, gl, rl), …
Run Code Online (Sandbox Code Playgroud)

c++ opencv objective-c background-subtraction

12
推荐指数
1
解决办法
7313
查看次数

NSImage到cv :: Mat,反之亦然

在使用OpenCV时,我需要将NSImage转换为OpenCV多通道2D矩阵(cvMat),反之亦然.

最好的方法是什么?

迎接,
Dom

macos opencv nsimage cgimage cgimageref

10
推荐指数
1
解决办法
5848
查看次数

OpenCV C++:按轮廓面积对轮廓进行排序

如何根据轮廓区域的大小对轮廓进行排序?我怎样才能获得最大/最小的一个?

c++ sorting opencv contour

10
推荐指数
2
解决办法
2万
查看次数

如何在JavaScript中验证EAN/GTIN条形码

如何检查字符串是否是JavaScript中的有效EAN/GTIN条形码?

我需要检查EAN8,EAN12,EAN13,EAN14,EAN18以及GTIN12,GTIN13,GTIN14.

javascript validation barcode node.js

9
推荐指数
4
解决办法
1万
查看次数

使用Xcode为OS X Lion/Mountain Lion编译OpenCV(2.3.1+)

任何人都可以为我提供一些如何使用Xcode在OS X Lion上编译OpenCV 2.3.1的详细指南吗?

我对此感到生气...我得到了源码,使用cmake创建Xcode模板并尝试构建它,但它失败了大约200个错误.

在此先感谢,Dom

解答我的回答帖子.

macos xcode opencv osx-lion

6
推荐指数
1
解决办法
2万
查看次数

OpenCV C++/Obj-C:连接附近的轮廓

是否有连接两个(或更多)附近轮廓的功能?看看我的输入/输出,你会明白我的意思......

我的代码:

[... some processing ...]

// getting contours
std::vector<std::vector<cv::Point> > contours;
findContours(input, contours, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE);

// approximate contours
std::vector<std::vector<cv::Point> > contours_poly( contours.size() );
for( int i = 0; i < contours.size(); i++ ) {
  approxPolyDP(cv::Mat(contours[i]), contours_poly[i], 5, true );
}

// debugging
cv::Scalar colors[3];
colors[0] = cv::Scalar(255, 0, 0);
colors[1] = cv::Scalar(0, 255, 0);
colors[2] = cv::Scalar(0, 0, 255);
for (int idx = 0; idx < contours_poly.size(); idx++) {
  cv::drawContours(output, contours_poly, idx, colors[idx % 3]);
} 
Run Code Online (Sandbox Code Playgroud)

产量 产量

opencv contour

6
推荐指数
1
解决办法
2万
查看次数

为Debian Lenny编译OpenCV 2.4.2

要保持问答方面:

我遇到了最新的(v.2.4.2)OpenCV版本的奇怪问题,该版本无法安装,但出现以下错误:

在/OpenCV-2.4.2/modules/core/src/system.cpp:460中包含的文件中:
/OpenCV-2.4.2/release/modules/core/version_string.inc: 37: 1:警告:缺少终止"字符在/OpenCV-2.4.2/modules/core/src/system.cpp:460中包含的文件中:/OpenCV-2.4.2/release/modules/core/version_string.inc:37:错误:缺少终止"字符

出了什么问题?看看我的回答.

unix opencv cmake

3
推荐指数
1
解决办法
1921
查看次数

应用程序在iOS 6.1.2中的[TestFlight takeOff:@""]崩溃

我将TestFlight SDK集成到我的iOS应用程序中.在iOS 6.1.2中,有时应用程序会在TestFlight的-takeOff:方法中首次启动应用程序崩溃.

  - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:  (NSDictionary *)launchOptions
{

#ifdef TESTING
    [TestFlight takeOff:@"MY_TESTFLIGHT_TEAM_TOKEN"];
    [TestFlight setDeviceIdentifier:[[UIDevice currentDevice] uniqueIdentifier]];
#endif

// Override point for customization after application launch.
ProductListViewController *products=[[ProductListViewController alloc] initWithNibName:@"ProductListViewController" bundle:nil];
UINavigationController *navigationController=[[UINavigationController alloc] initWithRootViewController:products];
[products release];

navigationController.toolbarHidden = YES;
navigationController.navigationBarHidden = YES;

self.rootViewController = navigationController;
[self.window setRootViewController:rootViewController];

[navigationController release];

[self.window makeKeyAndVisible];

return YES;
}
Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏.

谢谢

iphone ios testflight

3
推荐指数
1
解决办法
1245
查看次数