标签: opencv opencvsharp
例如,我有一幅具有1000行的图像。第900行应看起来像原始行。我有一个alpha和beta,我想在行1000到100%,行950到50%,行925到25%上应用。换句话说:我想将图像的较低的10%与线性渐变混合。 OpenCV中是否有一种通用方法,而无需修改每个离散像素并且无需首先生成与原始像素大小相同的Mat?
我在C#中使用OpenCVSharp包装器。
答案 0 :(得分:2)
在C ++上的实现
cv::Mat img = cv::imread("lena.jpg"); int startBlend = 3 * img.rows / 4; double alpha = 1.0; double step = 1.0 / (img.rows - startBlend); for (int y = startBlend; y < img.rows; ++y) { img.row(y) *= alpha; alpha -= step; } cv::imshow("img", img); cv::waitKey(0);
结果: