I am working on a segmentation algorithm for medical images, and during the process, it should display an evolving outline on the original image.
I work with halftone JPEG. I use the drawContours function to display the outlines, but I am unable to draw the outline of the color. I would like to draw a red outline on the grayscale image, but it only looks black or white.
Here is the code section:
Mat_<uchar> matrix = imread(path,0); int row = matrix.rows; int col = matrix.cols; Mat_<uchar> maskInter(row,col); for (int i=0; i<row; i++) for (int j=0; j<col; j++) { if ((double)matrix(i,j) <0) {maskInter(i,j)=255;} else {maskInter(i,j)=0;} }; vector<vector<Point> > contours; vector<Vec4i> hierarchy; Mat mat_out = maskInter.clone(); findContours( mat_out, contours, hierarchy, CV_RETR_TREE , CHAIN_APPROX_SIMPLE); drawContours( img, contours, -1, RGB(255,0,0),1.5,8,hierarchy,2,Point()); namedWindow(title); moveWindow(title, 100, 100); imshow(title, img); waitKey(0);
Can a color outline be displayed in grayscale on an image?
Thanks
source share