[英]Initialize rectangle in the center which is equal to 50% of the image size using Grabcut
我嘗試在以下論文中實現構想: BiCoS:一種用於圖像分類的雙級聯合細分方法,但我對以下要求感到困惑: GrabCut在這里被初始化為中間的矩形(圖像的50%大小(除非另有說明)分配給前景,其余分配給背景。 我不知道如何在中心繪制一個矩形,該矩形占據圖像大小的50%。 請幫我。 我使用OpenCV庫在C ++中進行編碼。
好吧,他們假設感興趣的人物被一個矩形所包圍,例如:
Rect(Point(image.width/4, image.height/4), Point(image.width*3/4, image.height*3/4);
或面積為圖片一半(1 / root2大小)的矩形; 再次以圖像中心點為中心。
然后可以在該矩形內調用抓取算法。
如果圖形某種程度上靠近邊界,則他們用手選擇矩形(在有監督的初始化下)。 由於目的是訓練具有抓取結果的SVM,因此自動化不是必須的。
本文應該對此更加清楚。 從上下文來看,它可能是指定義包含分段對象的感興趣區域(ROI)的矩形。 ROI外部的像素被標記為“明顯背景”。 如您所知,GrabCut要求您指定圖像的區域,這些區域指定明顯的背景像素,可能的前景像素,明顯的前景像素,可能的前景像素。 所有這些數據都作為參數提供給OpenCV中的grubCut函數 。 另外, 這是cv::Rect
的文檔 。
我不知道作者如何選擇矩形的大小。 矩形尺寸等於圖像尺寸的50%是什么意思? 矩形的尺寸可能等於圖像尺寸的1/2。 您可以通過電子郵件發送論文作者,並要求進行澄清。
要選擇,您可以使用Roi。 但是,如果要繪制方框或矩形,則可以使用矩形或直線功能。 這是繪制50%圖像大小的矩形框的簡單代碼。
int main(int argc, char *argv[])
{
Mat src = imread("Desert.jpg");
Mat src_original = src.clone();
cv::Size sz = src.size();
int block_size = 16;
int x_cord_roi = sz.width/4;
int y_cord_roi = sz.height/4;
int width_roi = sz.width/2;
int height_roi = sz.height/2;
imshow("My_Win_Ori", src_original);
Mat roi(src, Rect(x_cord_roi, y_cord_roi, width_roi, height_roi));
// rectangle( src, Point(x_cord_roi, y_cord_roi), Point( x_cord_roi + width_roi, y_cord_roi + height_roi),
// Scalar(255 ), -1,8 );
int thickness = 2;
int lineType = 8;
line( src, Point( x_cord_roi, y_cord_roi), Point(x_cord_roi + width_roi, y_cord_roi), Scalar( 0, 0, 0 ), thickness, lineType );
line( src, Point( x_cord_roi, y_cord_roi), Point(x_cord_roi, y_cord_roi + height_roi), Scalar( 0, 0, 0 ), thickness, lineType );
line( src, Point( x_cord_roi + width_roi, y_cord_roi), Point(x_cord_roi +width_roi , y_cord_roi + height_roi), Scalar( 0, 0, 0 ), thickness, lineType );
line( src, Point( x_cord_roi, y_cord_roi + height_roi), Point(x_cord_roi + width_roi, y_cord_roi + height_roi), Scalar( 0, 0, 0 ), thickness, lineType );
imshow("My_Win", src);
waitKey(0);
getchar();
return 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.