相关疑难解决方法(0)

OpenCv 2.3 C - 如何隔离图像内的对象

我有一个像这样的形象:

资源

我想删除数字周围的黑色行和列.所以我希望结果如下:

产量

我试试这个:

void findX(IplImage* imgSrc,int* min, int* max){
    int i;
    int minFound=0;
    CvMat data;
    CvScalar maxVal=cvRealScalar(imgSrc->width * 255);
    CvScalar val=cvRealScalar(0);
    //For each col sum, if sum < width*255 then we find the min
    //then continue to end to search the max, if sum< width*255 then is new max
    for (i=0; i< imgSrc->width; i++){
        cvGetCol(imgSrc, &data, i);
        val= cvSum(&data);
        if(val.val[0] < maxVal.val[0]){
            *max= i;
            if(!minFound){
                *min= i;
                minFound= 1;
            }
        }
    }
}

void findY(IplImage* imgSrc,int* min, int* max){
    int …
Run Code Online (Sandbox Code Playgroud)

c c++ opencv image-processing

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

Contours opencv:如何消除二进制图像中的小轮廓

我目前正在从事图像处理项目.我在VC++中使用Opencv2.3.1.我编写的代码使得输入图像仅被过滤为蓝色并转换为二进制图像.二进制图像有一些我不想要的小物体.我想消除那些小物体,所以我使用openCV的cvFindContours()方法来检测二进制图像中的轮廓.但问题是我无法消除图像输出中的小物体.我使用了cvContourArea()功能,但没有正常工作..,侵蚀功能也无法正常工作.

所以请有人帮我解决这个问题..

我获得的二进制图像:

在此输入图像描述

我想要获得的结果/输出图像:

在此输入图像描述

c c++ opencv image-processing visual-c++

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

帮助使用扩张功能OpenCV

在下面的代码中我想使用该dilate函数,但我不知道如何将Mat类转换为InputArray和OutputArray.你能帮助我吗?

使用这个原型函数:

void dilate(InputArray src, OutputArray dst, InputArray kernel, Point anchor=Point(-1,-1), int iterations=1, int borderType=BORDER_CONSTANT, const Scalar& borderValue=morphologyDefaultBorderValue() )
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

#include "opencv2/opencv.hpp"

using namespace cv;

int main(int, char**)
{
    Mat edges;

    VideoCapture cap(0); // open the default camera
    if(!cap.isOpened())  // check if we succeeded
        return -1;


    for(;;)
    {

        Mat frame;
        cap >> frame; // get a new frame from camera
        cvtColor(frame, edges, CV_BGR2GRAY);
        GaussianBlur(edges, edges, Size(7,7), 1.5, 1.5);
        //dilate(edges,edges,NULL);
        Canny(edges, edges, 0, …
Run Code Online (Sandbox Code Playgroud)

c++ opencv function image-processing mathematical-morphology

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