• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ cvDilate函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中cvDilate函数的典型用法代码示例。如果您正苦于以下问题:C++ cvDilate函数的具体用法?C++ cvDilate怎么用?C++ cvDilate使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了cvDilate函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: skinDetect

void HandDetect::handDetecting()
{
	skinDetect();
	IplImage *tmp = cvCreateImage(cvGetSize(backproject), 8, 1);
	cvZero(tmp);

	if(track_comp.rect.height>0&&track_comp.rect.width>0)
	{
		cvCircle(tmp, handCen, track_box.size.width, CV_RGB(255, 255, 255), -1);
		cvDrawRect(tmp, cvPoint(track_window.x-(int)(track_box.size.width*0.2), track_window.y-(int)(track_box.size.height*0.2)), 
			cvPoint(track_window.x+(int)(track_box.size.width*1.2), track_window.y+track_box.size.height), CV_RGB(255, 255, 255), -1);
		
	}
	cvAnd(backproject, tmp, backproject, 0);
	cvDilate(backproject, backproject, 0, 1);
	cvErode(backproject, backproject, 0, 1);
	
	UsingYCbCr();
	cvAnd(gray, tmp, gray, 0);
	cvErode(gray, gray, 0, 1);
	cvDilate(gray, gray, 0, 1);
//	cvShowImage("52", gray);
	cvReleaseImage(&tmp);

	cvOr(gray, backproject, backproject, 0);
	
	handCen=cvPoint(track_box.center.x, track_box.center.y);
	
	setRad();
//	cvDrawRect(image, cvPoint(track_window.x, track_window.y), cvPoint(track_window.x+track_window.width, track_window.y+track_window.height), CV_RGB(255, 0, 0));
	cvCircle(image, handCen, 2, CV_RGB(255, 0, 0), 2);

}
开发者ID:gunbaek,项目名称:Hand2Mouse,代码行数:33,代码来源:HandDetect.cpp


示例2: lhMorpHMTC

//形态学约束击中-击不中变换 针对二值和灰度图像
void lhMorpHMTC(const IplImage* src, IplImage* dst, IplConvKernel* sefg, IplConvKernel* sebg =NULL)
{
	assert(src != NULL && dst != NULL && src != dst && sefg!= NULL && sefg!=sebg);

	if (sebg == NULL)
	{
		sebg = lhStructuringElementNot(sefg);

	}
	
	IplImage*  temp1 = cvCreateImage(cvGetSize(src), 8, 1);
	IplImage*  temp2 = cvCreateImage(cvGetSize(src), 8, 1);
	IplImage*  temp3 = cvCreateImage(cvGetSize(src), 8, 1);
	IplImage*  temp4 = cvCreateImage(cvGetSize(src), 8, 1);

	IplImage*  mask1 = cvCreateImage(cvGetSize(src), 8, 1);
	IplImage*  mask2 = cvCreateImage(cvGetSize(src), 8, 1);
	IplImage*  mask3 = cvCreateImage(cvGetSize(src), 8, 1);
	IplImage*  mask4 = cvCreateImage(cvGetSize(src), 8, 1);

	cvZero(mask1);
	cvZero(mask2);
	cvZero(mask3);
	cvZero(mask4);

	cvZero(dst);

	//P107 (5.5)
	cvErode( src, temp1, sebg);
	cvDilate( src, temp2, sebg);
	cvErode( src, temp3, sefg);
	cvDilate( src, temp4, sefg);

	cvCmp(src, temp3, mask1, CV_CMP_EQ);
	cvCmp(temp2, src,  mask2, CV_CMP_LT);
	cvAnd(mask1, mask2, mask2);

	cvCmp(src, temp4, mask3 , CV_CMP_EQ);
	cvCmp(temp1, src, mask4 , CV_CMP_GT);
	cvAnd(mask3, mask4, mask4);

	cvSub(src, temp2, dst, mask2);
	cvSub(temp1, src, dst, mask4);




	cvReleaseImage(&mask1);
	cvReleaseImage(&mask2);
	cvReleaseImage(&mask3);
	cvReleaseImage(&mask4);

	cvReleaseImage(&temp1);
	cvReleaseImage(&temp2);
	cvReleaseImage(&temp3);
	cvReleaseImage(&temp4);

	cvReleaseStructuringElement(&sebg);

}
开发者ID:CareShaw,项目名称:OCR,代码行数:61,代码来源:Morphology1.cpp


示例3: cvCreateImage

void Image_OP::Dilate(int iter, IplImage * orig_img, IplImage* manipulated_img)
{
	if( iter > 0)
	{
	 this->Reset_Manipulators();
	  this->my_pic_manipulators.dilate = true;
	  
    if (manipulated_img == NULL)
	{
       manipulated_img = cvCreateImage(cvSize(orig_img->width,
		                  orig_img->height),IPL_DEPTH_8U,3);

	   // third parameter is structuring element for operations;
	   // if null then 3x3 area; can be defined by using cvCreatingStructuringElementEx
	   // iter (4th parameter) is the number of applied iterations
	   cvDilate(orig_img, manipulated_img, NULL,iter);
                   
       cvShowImage("dilate",manipulated_img); 

	   cvReleaseImage(&manipulated_img);
	}
	else
		cvDilate(orig_img, manipulated_img, NULL,iter);

	 this->my_manipulation_applied = iter;
	 
	 
	 }

}
开发者ID:surferran,项目名称:3Drobot,代码行数:30,代码来源:OpenCv_Video_METH.cpp


示例4: cvCopy

void TextLocation::maxNumLimitedConnectComponet(const IplImage* img, const int maxNum,
        vector<CvRect> &rects, vector<CvPoint> &centers) {

    cvCopy(img, m_copyForCC);
    cvDilate(m_copyForCC, m_copyForCC, NULL, 2);

    // connected component
    int ccNum = 200;
    connectComponent(m_copyForCC, 1, kccPerimeter, &ccNum, rects, centers);

    // too many ccNum, dilate the cc img then cc again
    cvZero(m_maskForCC);
    cvCopy(img, m_copyForCC);

    while (ccNum > kboxMaxNum) {

        getMaskImgFromRects(m_copyForCC, rects, m_maskForCC);
        cvDilate(m_maskForCC, m_maskForCC, NULL, 2);

#ifdef DEBUG
        cvShowImage("maskImg", m_maskForCC);
#endif

        cvCopy(m_maskForCC, m_copyForCC);
        connectComponent(m_maskForCC, 1, kccPerimeter, &ccNum, rects, centers);

    }

}
开发者ID:browny,项目名称:invoiceq-core,代码行数:29,代码来源:textlocation.cpp


示例5: cvDilate

// Dilate -> Erode -> Dilate
void Filterling ::noiseEraser (IplImage *srcImage, IplImage *dstImage) {
	int COL =3, ROW = 3, ITERATIONS = 1 ;

	IplConvKernel *elem =cvCreateStructuringElementEx (COL, ROW, 0, 0, CV_SHAPE_RECT, NULL) ;
	//cvMorphologyEx (img, img, NULL, elem, CV_MOP_CLOSE, 1) ; // 닫힘
	cvDilate (srcImage, dstImage, elem, ITERATIONS) ;	// 팽창
	cvErode (dstImage, dstImage, elem, ITERATIONS * 2) ;	//침식
	cvDilate (dstImage, dstImage, elem, ITERATIONS) ;	// 팽창
}
开发者ID:astroluj,项目名称:VC_OpenCV_Coin_Detection,代码行数:10,代码来源:filterling.cpp


示例6: lhMorpRDilate

//形态学测地膨胀和膨胀重建运算
void lhMorpRDilate(const IplImage* src, const IplImage* msk, IplImage* dst, IplConvKernel* se = NULL, int iterations=-1)
{

	assert(src != NULL && msk != NULL && dst != NULL && src != dst );

	if(iterations < 0)
	{
		//膨胀重建
		cvMin(src, msk, dst);
		cvDilate(dst, dst, se);
		cvMin(dst, msk, dst);

		IplImage*  temp1 = cvCreateImage(cvGetSize(src), 8, 1);
		//IplImage*  temp2 = cvCreateImage(cvGetSize(src), 8, 1);

		do
		{
			//record last result
			cvCopy(dst, temp1);
			cvDilate(dst, dst, se);
			cvMin(dst, msk, dst);
			//cvCmp(temp1, dst, temp2, CV_CMP_NE );

		}
		//while(cvSum(temp2).val[0] != 0);
		while(lhImageCmp(temp1, dst)!= 0);

		cvReleaseImage(&temp1);
		//cvReleaseImage(&temp2);

		return;	

	}
	else if (iterations == 0)
	{
		cvCopy(src, dst);
	}
	else
	{

		//普通测地膨胀 p136(6.1)
		cvMin(src, msk, dst);
		cvDilate(dst, dst, se);
		cvMin(dst, msk, dst);

		for(int i=1; i<iterations; i++)
		{
			cvDilate(dst, dst, se);
			cvMin(dst, msk, dst);

		}

	}
}
开发者ID:CareShaw,项目名称:OCR,代码行数:55,代码来源:Morphology1.cpp


示例7: cvCreateStructuringElementEx

void CTransformImage::Morphology()
{
	if(!m_transImage)
		return;

	IplConvKernel* element = cvCreateStructuringElementEx(3, 3, 1, 1, CV_SHAPE_RECT, NULL);

	cvDilate(m_transImage, m_transImage, element, 1);
	cvDilate(m_transImage, m_transImage, element, 1);
	cvErode (m_transImage, m_transImage, element, 1);
	cvErode (m_transImage, m_transImage, element, 1);

	cvReleaseStructuringElement(&element);
}
开发者ID:wonjb,项目名称:wprobot,代码行数:14,代码来源:[NEXE]TransformImage.cpp


示例8: cvMorphologyEx

CV_IMPL void
cvMorphologyEx( const void* src, void* dst,
                void* temp, IplConvKernel* element, int op, int iterations )
{
    CV_FUNCNAME( "cvMorhologyEx" );

    __BEGIN__;

    if( (op == CV_MOP_GRADIENT ||
        ((op == CV_MOP_TOPHAT || op == CV_MOP_BLACKHAT) && src == dst)) && temp == 0 )
        CV_ERROR( CV_HeaderIsNull, "temp image required" );

    if( temp == src || temp == dst )
        CV_ERROR( CV_HeaderIsNull, "temp image is equal to src or dst" );

    switch (op)
    {
    case CV_MOP_OPEN:
        CV_CALL( cvErode( src, dst, element, iterations ));
        CV_CALL( cvDilate( dst, dst, element, iterations ));
        break;
    case CV_MOP_CLOSE:
        CV_CALL( cvDilate( src, dst, element, iterations ));
        CV_CALL( cvErode( dst, dst, element, iterations ));
        break;
    case CV_MOP_GRADIENT:
        CV_CALL( cvErode( src, temp, element, iterations ));
        CV_CALL( cvDilate( src, dst, element, iterations ));
        CV_CALL( cvSub( dst, temp, dst ));
        break;
    case CV_MOP_TOPHAT:
        if( src != dst )
            temp = dst;
        CV_CALL( cvErode( src, temp, element, iterations ));
        CV_CALL( cvDilate( temp, temp, element, iterations ));
        CV_CALL( cvSub( src, temp, dst ));
        break;
    case CV_MOP_BLACKHAT:
        if( src != dst )
            temp = dst;
        CV_CALL( cvDilate( src, temp, element, iterations ));
        CV_CALL( cvErode( temp, temp, element, iterations ));
        CV_CALL( cvSub( temp, src, dst ));
        break;
    default:
        CV_ERROR( CV_StsBadArg, "unknown morphological operation" );
    }

    __END__;
}
开发者ID:273k,项目名称:OpenCV-Android,代码行数:50,代码来源:cvmorph.cpp


示例9: Posterize

void CHandDrawEffect::EffectImage(IplImage* back, IplImage* frame, IplImage* alpha, IplImage* mask, IplImage* res)
{
	if(drawMode & 0x01) {
		//基本エフェクト
		Posterize(0xD0, frame, imageA);
	//	DrawHatching(frame, imageA);
		cvAnd(imageA, mask, imageB); //エフェクト処理後のCG部分のくりぬき

		//囲み
		cvNot(mask, imageA);
		cvDilate(imageA, imageD, 0, 1);
		cvDilate(mask, imageE, 0, 3);
		cvXor(imageE, imageD, mask);

		//アルファマスク更新
		cvNot(mask, imageA);
		cvConvertScale(imageA, imageA, 0.5);
		cvOr(alpha, imageA, alpha);

		//色付きの囲み
		cvNot(mask, imageA);
		cvAnd(imageA, imageC, imageA);
		cvOr(imageA, imageB, imageB);

		//走査線
		cvAnd(imageB, scanningLine, imageB);

		//アルファブレンド
		AlphaBlend(back, imageB, alpha, res);

		if(0) { //drawMode & 0x02) {
		//	DrawEdge(frame, imageB, res, 2);

			cvNot(mask, frame);
			cvDilate(frame, imageA, 0, 1);
			cvDilate(mask, imageB, 0, 3);
			cvXor(imageA, imageB, mask);
			cvAnd(mask, res, res);

			//色付きの線
			cvNot(mask, imageA);
			cvAnd(imageA, scanningLine, imageA);
			cvAnd(imageA, imageC, imageA);
			cvOr(res, imageA, res);
		}
	} else if(drawMode & 0x02) {
	//	DrawEdge(frame, imageB, res, 2);
	}
}
开发者ID:zphilip,项目名称:VirtualTS,代码行数:49,代码来源:CCVEffect.cpp


示例10: memset

void TargetDetector::filterForGreen(Image* input)
{
    // Remove top and bottom chunks if desired
    if (m_topRemovePercentage != 0)
    {
        int linesToRemove = (int)(m_topRemovePercentage * m_image->getHeight());
        size_t bytesToBlack = linesToRemove * m_image->getWidth() * 3;
        memset(m_image->getData(), 0, bytesToBlack);
    }

    if (m_bottomRemovePercentage != 0)
    {
        int linesToRemove = 
            (int)(m_bottomRemovePercentage * m_image->getHeight());
        size_t bytesToBlack = linesToRemove * m_image->getWidth() * 3;
        int startIdx = 
            m_image->getWidth() * m_image->getHeight() * 3 - bytesToBlack;
        memset(&(m_image->getData()[startIdx]), 0, bytesToBlack);
    }

    // Filter the image so all green is white, and everything else is black
    m_filter->filterImage(m_image);

    if (m_erodeIterations)
    {
        cvErode(m_image->asIplImage(), m_image->asIplImage(), 0, 
                m_erodeIterations);
    }
    if (m_dilateIterations)
    {
        cvDilate(m_image->asIplImage(), m_image->asIplImage(), 0, 
                 m_dilateIterations);
    }

}
开发者ID:katzchen,项目名称:tortuga,代码行数:35,代码来源:TargetDetector.cpp


示例11: openHand

int openHand(PointCloud handPcl) {
	
	IplImage *imageHandBw = cvCreateImage(cvSize(640,480), 8, 1);
	
	binaryImage(handPcl, imageHandBw);
	cvDilate(imageHandBw, imageHandBw, NULL, 5);
	cvErode(imageHandBw, imageHandBw, NULL, 3);

	
	int perimeter = 0, area = 0;
	int i;
	for (i=0; i<FREENECT_FRAME_PIX; i++) {
		if(((unsigned char*)(imageHandBw->imageData))[i]) {
			area++;
			
			if (((unsigned char*)(imageHandBw->imageData))[i+1] == 0 ||
				((unsigned char*)(imageHandBw->imageData))[i-1] == 0 ||
				((unsigned char*)(imageHandBw->imageData))[i+FREENECT_FRAME_W] == 0 ||
				((unsigned char*)(imageHandBw->imageData))[i-FREENECT_FRAME_W] == 0)
				perimeter++;
		}
	}
	
	formFactor= 4 * M_PI * area / (perimeter * perimeter);
	
	//printf("PointCount: %d - Perimeter: %d - FF: %f\n", area, perimeter, formFactor);
	// cvShowImage("Depth", imageHandBw);

	cvReleaseImage(&imageHandBw);
	return (formFactor < OPEN_HAND_FORM_FACTOR);
	
}
开发者ID:Muffo,项目名称:KinectGraffiti,代码行数:32,代码来源:gestureManager.c


示例12: cvCreateImage

void Hand_recognition::Sub_prevFrame(IplImage *src, IplImage *dst){
	static int frame_count = 0;

	if(prev_ground == NULL){
		prev_ground = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, 1);
		present_ground = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, 1);
		cvCvtColor(src, prev_ground, CV_BGR2GRAY);
	}

	cvZero(dst);

	if(frame_count == 1){
		cvCvtColor(src, present_ground, CV_BGR2GRAY);
		for(int i = 0; i < src->width; i++){
			for(int j = 0; j < src->height; j++){
				int pixel_sub = abs((unsigned char)prev_ground->imageData[i + j * prev_ground->widthStep] - (unsigned char)present_ground->imageData[i + j * present_ground->widthStep]);
				if(pixel_sub > SUB_THRESHOLD)
					dst->imageData[i + j * dst->widthStep] = (unsigned char)255;
			}
		}

		//prev_ground = cvCloneImage(present_ground);
		cvCopy(present_ground, prev_ground);

		cvSmooth(dst, dst, CV_MEDIAN,3,3);
		cvErode(dst, dst, 0, 5);
		cvDilate(dst, dst, 0, 20);

		frame_count = 0;
	}

	frame_count++;
}
开发者ID:sp9103,项目名称:OpenCVE,代码行数:33,代码来源:Hand_recognition.cpp


示例13: findContours

void findContours( IplImage* img, CvMemStorage* storage, CvSeq **contours)
{
    //for findContour function
    IplImage* timg  =NULL;
    IplImage* gray  =NULL;
    IplImage* tgray =NULL;

    CvSize sz = cvSize( img->width, img->height );

	// make a copy of input image
	gray = cvCreateImage( sz, img->depth, 1 );
	timg = cvCreateImage( sz, img->depth, 1 );
	tgray = cvCreateImage( sz, img->depth, 1 );

	cvSetImageCOI(img,1);
    cvCopy( img, timg,NULL );
	cvSetImageCOI(img,0);

    cvCopy( timg, tgray, 0 );

    cvCanny( tgray, gray, ct1, ct2, 5 );
    // holes between edge segments
    cvDilate( gray, gray, 0, 2 );

    cvFindContours( gray, storage, contours,
                    sizeof(CvContour),CV_RETR_LIST,
                    CV_CHAIN_APPROX_NONE, cvPoint(0,0) );

    //release all the temporary images
    cvReleaseImage( &gray );
    cvReleaseImage( &tgray );
    cvReleaseImage( &timg );

}
开发者ID:ntavish,项目名称:tri,代码行数:34,代码来源:main.c


示例14: lhMorpHMTU

//形态学非约束击中-击不中变换 针对二值和灰度图像
void lhMorpHMTU(const IplImage* src, IplImage* dst, IplConvKernel* sefg, IplConvKernel* sebg =NULL)
{
	assert(src != NULL && dst != NULL && src != dst && sefg!= NULL && sefg!=sebg);

	if (sebg == NULL)
	{
		sebg = lhStructuringElementNot(sefg);

	}
	
	IplImage*  temp = cvCreateImage(cvGetSize(src), 8, 1);
	IplImage*  mask = cvCreateImage(cvGetSize(src), 8, 1);
	cvZero(mask);

	//P106 (5.4)
	cvErode( src, temp, sefg);
	cvDilate(src, dst, sebg);
	cvCmp(temp, dst, mask, CV_CMP_GT);

	cvSub(temp, dst, dst, mask);
	cvNot(mask, mask);
	cvSet(dst, cvScalar(0), mask);

	//cvCopy(dst, mask);
	//cvSet(dst, cvScalar(255), mask);
	cvReleaseImage(&mask);
	cvReleaseImage(&temp);

	cvReleaseStructuringElement(&sebg);
}
开发者ID:CareShaw,项目名称:OCR,代码行数:31,代码来源:Morphology1.cpp


示例15: opencv_image_filter

void opencv_image_filter(IplImage* src, IplImage* dst) {
    cvSobel(src, dst, 1, 0);
    cvSubS(dst, cvScalar(50,50,50), src);
    cvScale(src, dst, 2, 0);
    cvErode(dst, src);
    cvDilate(src, dst);
}
开发者ID:werdnac92,项目名称:harris-matching,代码行数:7,代码来源:opencv_top.cpp


示例16: cvThreshold

void TextLocation::getGlobalThImg(const IplImage* src, double th, IplImage* globalThImg, int dilateDeg) {

    cvThreshold(src, globalThImg, th, 255, 0);
    inverseBinaryImage(m_globalThImg);
    cvDilate(m_globalThImg, m_globalThImg, NULL, dilateDeg);

}
开发者ID:browny,项目名称:invoiceq-core,代码行数:7,代码来源:textlocation.cpp


示例17: cvDilate

/*
功能:
	OpenCV图像膨胀
*/
void CDIP1View::OnCvErode() 
{
	// TODO: Add your command handler code here
	if(alert(1))
 		return;
	//**************************OpenCV图像处理主要步骤*****************************
	
	//0、判断当前图像是彩图还是灰度图
	int GrayOrColor;
	if(m_dib.IsGrade())
		GrayOrColor = 1;
	else
		GrayOrColor = 3;
	//1、把当前bmp图像转化为IplImage图像。1:表示当前bmp图像是灰度图;3:表示当前bmp图像是彩色图
	IplImage *temp = m_dib.cvBmpToIplImage(GrayOrColor);
	//2、开始图像处理
	cvDilate(temp,temp);
	//3、将处理后的图像(一般指第2步创建的图像)数据赋到bmp图像数据
	m_dib.cvDataToBmp(temp);
	//4、释放前两步创建的IplImage图像
	cvReleaseImage(&temp);//释放temp	
	
	 //刷新屏幕
 	Invalidate(1);
}
开发者ID:jnulzl,项目名称:DIP,代码行数:29,代码来源:DIP1View.cpp


示例18: main

int main(int argc, char** argv)
{
	IplImage *img = cvLoadImage("4un-zishiying.jpg", 0);
	if (img == NULL)
	{
		printf("img load failed!\n");
		return 0;
	}
	IplImage *img_erode = cvCreateImage(cvGetSize(img), 8, 1);
	IplImage *img_dilate = cvCreate+Image(cvGetSize(img), 8, 1);

	cvErode(img, img_erode, NULL, 1); //腐蚀
	cvDilate(img, img_dilate, NULL, 1); //膨胀

	cvNamedWindow("img_erode");
	cvNamedWindow("img_dilate");

	cvShowImage("img_erode", img_erode);
	cvShowImage("img_dilate", img_dilate);

	cvWaitKey(-1);


	cvReleaseImage(&img_dilate);
	cvReleaseImage(&img_erode);

	cvDestroyAllWindows();


	return 0;
}
开发者ID:geekieo,项目名称:opencvDemo,代码行数:31,代码来源:Eroding_and_Dilating.cpp


示例19: test_backremoval

void test_backremoval(){
	float max_value;
	float min_value;
	IplImage * rimage = cvCreateImage(cvGetSize(image),image->depth,image->nChannels); 
	IplImage * min_image = cvCreateImage(cvGetSize(image),image->depth,image->nChannels); 
	int values [] = {0,0,0,0,0,0,0,0,0};
	IplConvKernel * kernel = cvCreateStructuringElementEx(3,3,1,1,CV_SHAPE_RECT,values);
	cvDilate(image,rimage,kernel);
	display_image("dilate",rimage);
	cvErode(rimage,rimage,kernel);
	display_image("erode",rimage);
	
	//cvDilate(max_image,max_image,kernel);
	//cvDilate(max_image,max_image,kernel);
	display_image("original",image);
	display_image("rimage",rimage);

	//rimage = test_background_subtraction(image,max_image);
	//display_image("back removed",rimage);

	//IplImage * otsu_image = otsu_algorithm(rimage);
	//otsu_image = invert_image(otsu_image);
	//display_image("otsu image",otsu_image);

}
开发者ID:olivernina,项目名称:binatool,代码行数:25,代码来源:SuAlgorithmTest.cpp


示例20: bn_closure

void bn_closure(IplImage* img,int n)
{
	bn_reverse(img);
	cvDilate(img,img,NULL,n);
	cvErode(img,img,NULL,n);
	bn_reverse(img);
}
开发者ID:rodjonraskolnikov,项目名称:Rasta2,代码行数:7,代码来源:template_extractor.c



注:本文中的cvDilate函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ cvDrawContours函数代码示例发布时间:2022-05-30
下一篇:
C++ cvDestroyWindow函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap