RSS
 

Archive for November, 2009

Closing gaps in image

18 Nov

This an example on how to use morphological operator in OpenCV to close gaps.

int main(int argc, char* argv[])
{
IplImage *image;
IplImage *dilated_image;
IplImage *eroded_image;
image = cvLoadImage ("triangle.jpg");

dilated_image = cvCloneImage (image);
eroded_image = cvCloneImage (image);

cvNamedWindow ("Original", 1);
cvNamedWindow ("Dilated", 1);
cvNamedWindow ("Eroded", 1);

cvShowImage ("Original", image);

cvDilate (image, dilated_image, 0, 7);
cvShowImage ("Dilated", dilated_image);

cvErode (dilated_image, eroded_image, 0, 6);
cvShowImage ("Eroded", eroded_image);

cvWaitKey ();

cvReleaseImage (&image);
cvDestroyWindow ("Original");
cvReleaseImage (&dilated_image);
cvDestroyWindow ("Dilated");
cvReleaseImage (&eroded_image);
cvDestroyWindow ("Eroded");

return 0;
}

 
1 Comment

Posted in OpenCV

 

Equation editor

18 Nov

I found a very good online service to edit equation and recieve them as a picture ready to put in your document or your web page.

 
 

Circle detection

16 Nov

This a source code for sircle detection.

void findCircles( IplImage* img, CvMemStorage* storage ){
CvSeq* circles;
IplImage* cpy = cvCreateImage(cvGetSize(img),8,1);
int i;
float* circ;
cvCvtColor(img,cpy,CV_RGB2GRAY);
circles =
cvHoughCircles(cpy,storage,CV_HOUGH_GRADIENT,2,cpy->height/4,200,100);
for(i=0;i < circles->total;i++){
CvSeq
circ=(float*)cvGetSeqElem(circles,i);

cvCircle(img,cvPoint(cvRound(circ[0]),cvRound(circ[1])),cvRound(circ[2]),CV_RGB(255,255,255),1,8,0);
}
cvReleaseImage(&cpy);

}
 
No Comments

Posted in OpenCV

 

~をもとに / ~をもとにして

13 Nov

意味: Based on~
接続: [名]+をもとに
例文: ファンの人気投票をもとに審査し、今年の歌のベストテンが決まります。

 

~をめぐって / ~をめぐる

13 Nov

意味: Circulate~ ; around~
接続: [名]+をめぐって
例文: その法案の賛否をめぐって、活発な議論がかわされた。