我需要在图像上找到一个预定义区域并将其替换为另一个图像(只需嵌入后者)。预定义的点将是一个可变大小的矩形区域,该区域填充有先前商定颜色的纯色背景。
关于如何实现这一目标的任何建议?
我想我可以通过循环并逐行逐个像素地遍历图像来找到指定颜色的第一个像素,但我觉得这不是最有效的解决方案。由于这个地方应该比较大,所以我也考虑过图片(请看下面的附件)。
所以我需要帮助来定义这些循环。我相信我将不得不为此使用一些数学函数。
例如,如果大图是方形的,对角线环(黄色EF线)将使用简化的线性函数y=x
( y=1x+0
),但它不太可能真的是方形的。所以我将不得不使用扩展的全线性函数y=kx+b
,k
它与矩形大小有关(我认为k=height/width
),并且b
只是 0。所以循环看起来像:
$k = 1080/1920;
for ( $x=1920; $x>0; $x-- ) {
$y = $k*$x;
}
但那是黄色的,我猜是最简单的。现在,我如何定义其他人?请帮忙。谢谢