【发布时间】:2026-02-02 14:15:01
【问题描述】:
我想用 OpenCV 找到第一个红色像素,然后剪掉它右边的图片。
此刻我写了这段代码,但运行起来很慢:
int firstRedPixel = mat.Cols();
int len = 0;
for (int x = 0; x < mat.Rows(); x++)
{
for (int y = 0; y < mat.Cols(); y++)
{
double[] rgb = mat.Get(x, y);
double r = rgb[0];
double g = rgb[1];
double b = rgb[2];
if ((r > 175) && (r > 2 * g) && (r > 2 * b))
{
if (len == 3)
{
firstRedPixel = y - len;
break;
}
len++;
}
else
{
len = 0;
}
}
}
有什么解决办法吗?
【问题讨论】:
-
这里是找到红色的一般方法:*.com/questions/51229126/…
标签: java c# opencv graphics tesseract