使用GrabCut初始化中心的矩形,等于图像尺寸的50%
Initialize rectangle in the center which is equal to 50% of the image size using Grabcut
我尝试在下面的论文中实现想法:BICOS:BI级共段方法用于图像分类,但我对以下要求感到困惑: grabcut在此处在中心的矩形(图像大小的50%,除非另有说明)和其余的矩形。图像大小的50%。请帮我。我使用OpenCV库中的C 代码。
好吧,他们假设感兴趣的图是由一个矩形界定的:
Rect(Point(image.width/4, image.height/4), Point(image.width*3/4, image.height*3/4);
或图像的一半的区域的矩形(1/root2 size);再次以图像中心点为中心。
然后可以在该矩形内调用grabcut算法。
如果图形在某种程度上接近边界,则他们手工选择矩形(有监督的启动)。由于目的是用grabcut结果训练SVM,因此自动化不是必须的。
纸张应该更清楚。从上下文来看,它可能是指定义包含分段对象的感兴趣区域(ROI)的矩形。ROI外的像素被标记为"明显的背景"。众所周知,Grabcut要求您指定图像的区域,这些区域指定明显的背景像素,可能的前景像素,明显的前景像素,可能的前景像素。将所有这些数据作为grubcut函数在OpenCV中的参数提供。另外,这是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;
}
相关文章:
- 平均图像时图像损坏
- 如何快速创建一组覆盖两个图像的图像
- 将高斯模糊应用于灰度图像
- 二项式模糊图像过滤器将内核应用于图像
- 启用 ASLR 后,图像的所有部分是否每次都以相对于图像基址的相同偏移量加载
- 将功能应用于图像的每个像素
- OpenCV:相对于参考图像移动/对齐面图像(图像配准)
- 打印像素值,但图像重叠.图像是其应有大小的三倍
- 图像和图像处理中的特征提取
- 如何使用LEADTOOLS 19将图像效果应用于内存缓冲区中的JPEG
- 用cuda处理图像,图像不变
- 访问像素值,而不在内存中加载大图像的图像
- 如何将 3D 变换应用于图像
- 自由图像报告图像颜色类型错误
- 解密不适用于保存的图像,但适用于图像的像素操作矩阵
- OpenCV将我自己的过滤器应用于彩色图像
- OpenCV 项目在将直方图应用于黑色图像时崩溃
- 如何使用CImg显示少量图像(每个图像在单独的窗口中)
- 是否可以使用c++ /OpenFrameworks将图像(或图像序列)作为硬件设备(网络摄像头)传递给Mac OSX ?
- 将示例图像与图像数据库进行比较时出现意外结果 - Opencv c++