相关疑难解决方法(0)

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万
查看次数

使用`cv :: inRange`(OpenCV)为颜色检测选择正确的上下HSV边界

我有一个咖啡罐的图像,橙色的盖子位置,我想找到.就这个图片.

gcolor2实用程序显示盖子中心的HSV为(22,59,100).问题是如何选择颜色的限制呢?我尝试了min =(18,40,90)和max =(27,255,255),但是出乎意料结果

这是Python代码:

import cv

in_image = 'kaffee.png'
out_image = 'kaffee_out.png'
out_image_thr = 'kaffee_thr.png'

ORANGE_MIN = cv.Scalar(18, 40, 90)
ORANGE_MAX = cv.Scalar(27, 255, 255)
COLOR_MIN = ORANGE_MIN
COLOR_MAX = ORANGE_MAX

def test1():
    frame = cv.LoadImage(in_image)
    frameHSV = cv.CreateImage(cv.GetSize(frame), 8, 3)
    cv.CvtColor(frame, frameHSV, cv.CV_RGB2HSV)
    frame_threshed = cv.CreateImage(cv.GetSize(frameHSV), 8, 1)
    cv.InRangeS(frameHSV, COLOR_MIN, COLOR_MAX, frame_threshed)
    cv.SaveImage(out_image_thr, frame_threshed)

if __name__ == '__main__':
    test1()
Run Code Online (Sandbox Code Playgroud)

opencv hsv color-detection

67
推荐指数
7
解决办法
17万
查看次数

如何使用OpenCV在Python中找到图像的平均颜色?

我试过这段代码:

import cv2
image = cv2.imread("sample.jpg")
pixel = image[200, 550]
print pixel
Run Code Online (Sandbox Code Playgroud)

但我得到的错误是:

'Nonetype'没有属性错误getitem

执行第三行代码后会显示此错误.

python opencv numpy image-processing scikit-image

24
推荐指数
3
解决办法
4万
查看次数

如何定义阈值以仅检测图像中的绿色对象:Opencv

我只是想从自然环境中捕获的图像中仅检测绿色物体.如何定义它?因为在这里我要通过阈值让我们说'x',通过使用这个x我想只获得一种颜色的绿色对象(白色)其他必须出现在另一种颜色(黑色)请指导我做这个.提前致谢.

python opencv image-processing threshold

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

如何使用OpenCV检测图像中的彩色色块?

我试图通过移动相机检测房间条件下的图片(黑白素描)是否有颜色.

在此输入图像描述

我已经能够得到这个结果

在此输入图像描述

使用以下代码

Mat dest = new Mat (sections[i].rows(),sections[i].cols(),CvType.CV_8UC3);
Mat hsv_image = new Mat (sections[i].rows(),sections[i].cols(),CvType.CV_8UC3);

Imgproc.cvtColor (sections[i],hsv_image,Imgproc.COLOR_BGR2HSV);

List <Mat> rgb = new List<Mat> ();
Core.split (hsv_image, rgb);
Imgproc.equalizeHist (rgb [1], rgb [2]);
Core.merge (rgb, sections[i]);
Imgproc.cvtColor (sections[i], dest, Imgproc.COLOR_HSV2BGR);

Core.split (dest, rgb);
Run Code Online (Sandbox Code Playgroud)

我怎样才能成功地发现图像是否有颜色.颜色可以是任何颜色,它有房间条件.因为我是初学者,请帮助我.

谢谢

opencv image-processing computer-vision color-detection

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

使用Opencv python从Image中裁剪凹面多边形

如何从图像中裁剪凹面多边形.我的输入图像看起来像 这个.

闭合多边形的坐标是[10,150],[150,100],[300,150],[350,100],[310,20],[35,10].我希望使用opencv裁剪由凹多边形限定的区域.我搜索了其他类似的问题,但我找不到正确的答案.那就是我问的原因?你能帮助我吗.

任何帮助将非常感谢.!!!

python opencv crop image-processing

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

如何使用OpenCV找到RED颜色区域?

我正在尝试制作一个我检测到红色的程序.但是有时它比平时更暗,所以我不能只使用一个值.什么是检测不同色调红色的好范围?我目前使用的范围是128,0,0 - 255,60,60,但有时它甚至都没有检测到我放在它前面的红色物体.

python opencv colors

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