gpt4 book ai didi

opencv - 循环中的 cvSetImageROI

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

我刚刚开始学习 OpenCV,我想问一下如何在循环中使用 cvSetImageROI。问题是,我想将图像分成 9 个相等的区域,并检查每个区域的直线或曲线。但是,我不知道如何在循环中使用cvSetImageROI,以便它自动转到下一个区域。

cvSetImageROI(image, one);

这是用于获取区域的函数。这里,“图像”是区域应该来自的图像,“一”是要实现的特定区域的矩形区域。如果我想检查图像的所有 9 个区域,我怎么可能从一个矩形区域移动到另一个矩形区域?

非常感谢!

最佳答案

您可以做的是将图像(宽度、高度)拆分为宽度为 width_step = original_width/3 和 height_step = original_height/3 的矩形。

然后像这样循环:

for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
{
CvRect rect;
rect.x = i * width_step;
rect.y = j * height_step;
if (i < 2)
rect.width = width_step;
else
rect.width = image.width - rect.x;
if (j < 2)
rect.height = height_step;
else
rect.height = image.height - rect.y;
cvSetImageROI(image, rect);
}

您遍历每个区域。希望这会有所帮助,代码尚未经过测试。

关于opencv - 循环中的 cvSetImageROI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8213717/

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