Мой вопрос для экспертов Opencv, я обнаружил дорожные линии (левая и правая линии), поэтому я стремился нарисовать зону дороги полупрозрачной синей. Так что я использовал:poly opencv semi-transperent
cv::fillPoly(image, ppt, npt, 1, CV_RGB(0, 0,200), lineType);
ppt- содержат пункты для правого и левого, NPT- число точек
Но то, что я получил это наполнило площадь над дорогой, которая не является моей целью.
Итак, у меня вопрос, есть ли какое-либо решение для рисования участка дороги полупрозрачным? Мне сказали, чтобы добавить еще один канал, как:
cv::Mat channel[3];
split(image, channel);
channel[0] = cv::Mat::zeros(image.rows, image.cols, CV_8UC1);
merge(channel, 3, image);cv::imshow("kkk",image);
Но дело в том, что я получил все изображение в полупрозрачной, и я хочу только область дороги. Любые идеи оценили !!
благодаря
окрасить поли в виде отдельного изображения с черным фоном. то для каждого пикселя: если polyimage-pixel isnt black: image-pixel = 0.5 * imagepixel + 0.5 * polyimage-pixel. вместо 0.5 вы можете использовать любой коэффициент прозрачности x и (1-x) – Micka
Привет Мика, большое спасибо за ценный ответ. где я могу использовать пиксель изображения? есть ли какая-либо функция для вывода пикселя изображения? Я ценю, если вы можете дать некоторый сегмент кода? – Adam