gpt4 book ai didi

python - 图像定位 OpenCV

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

这可能称为“感兴趣区域”,我不太确定。但是,我想做的事情很容易解释。

我有一张照片需要对齐到网格。

https://snag.gy/YaAWdg.jpg

对于初学者;显示“这里”的小文本必须距屏幕顶部 151 像素。

下一步;从“这里”到下巴的位置8必须是631px

最后;必须在 Nose 上第 28 行的图片中间做一条直线。

如果我没有说清楚,请告诉我详细说明。

我有以下想法(这是伪代码)

它只是简单地循环,直到通过调整大小函数满足要求,这很像暴力破解,但这就是我能想到的所有......

即..

while (top.x,y = 151,0)
img.top-=1 ## this puts the image one pixel above until reaching the desired positioning
while (top.x,y & eight.x,y != 631)
resize += 1 # resize by 1 pixel until the height is reached
## center the nose
image.position = nose.

最佳答案

考虑切换操作顺序以避免重复操作。一点点数学知识和视角的改变应该可以解决问题:

1.) Resize图像使得从“这里”到下巴的距离为 631px。

2.) 使用 region of interest裁剪图像,使“此处”距屏幕顶部 151 像素。

3.) 画出你的 line .

编辑:

affine transform in OpenCV假设您定义了所有适当的约束,可以将您的图像变形为适当的填充。

如果您需要做的只是一个简单的比例...首先计算点之间的距离,使用类似 this 的方法.

Point2f a(10,10);
Point2f b(100,100);

float euclideanDist(Point& p, Point& q) {
Point diff = p - q;
return cv::sqrt(diff.x*diff.x + diff.y*diff.y);
}

然后创建比例因子来调整图像大小

float scaleFactor = euclideanDist(a,b) / 631;
cv::resize(input, output, cv::Size(), scaleFactor, scaleFactor, cv::INTER_LINEAR);

同时使用 scaleFactor 的两个实例将在 X&Y 中创建统一的缩放比例。使用两个不同的缩放因子将独立缩放 X 和 Y。

关于python - 图像定位 OpenCV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45718043/

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