gpt4 book ai didi

c - opencv中如何根据图片宽高动态绘制矩形?

转载 作者:太空宇宙 更新时间:2023-11-03 21:38:22 26 4
gpt4 key购买 nike

我想在 opencv 中根据图像的宽度和高度绘制一个矩形(即我不想给 cvRectangle 一个静态值) 我想绘制一个覆盖大部分的矩形任何图像的大小区域,换句话说,我想在每个图像中绘制最大的矩形,谢谢

最佳答案

也许,您想使用百分比维度?

IplImage *img=cvLoadImage(fileName,CV_LOAD_IMAGE_COLOR);

int imageWidth = img->width;
int imageHeight = img->height;
int imageSize = img->nSize;

int ratio = 90; // our ROI will be 90% of our input image

int roiWidth = (int)(imageWidth*ratio/100);
int roiHeight = (int)(imageHeight*ratio/100);

// offsets from image borders
int dw = (int) (imageWidth-roiWidth)/2;
int dh = (int) (imageHeight-roiHeight)/2;

cvRectangle(img,
cvPoint(dw,dh), // South-West point
cvPoint(roiWidth+dw, roiHeight+dh), // North-East point
cvScalar(0, 255, 0, 0),
1, 8, 0);

cvSetImageROI(img,cvRect(dw,dh,roiWidth,roiHeight));

因此,现在,如果您设置比率 = 90,并且您的输入图像为 1000x1000 像素,那么您的 ROI 将为 900x900 像素并且它将位于图像的中心。

关于c - opencv中如何根据图片宽高动态绘制矩形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10628304/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com