200x显微镜上安装有相机。图像显示了由相机矩阵或闪电或两者引起的亮度不均匀分布。
我想均衡像素亮度。找到一种可以用于校准的材料并不容易。例如纸因为microscpe看起来像一个风景 - 表面不相等。我的想法是在设备校准过程中将显微镜移开焦点并制作图像。使用该分布,应该可以计算每个像素的校正值。不幸的是,看起来这些因素会因曝光而异。但它仍然可行。
对我而言,它看起来像是一个非常常见的问题。 OpenCV是否提供了处理它的东西?
P.S。在单个图像上,这种不均匀的亮度分布不是问题。当扫描和缝合大表面时,它变得可见。
答案 0 :(得分:2)
我不得不在一段时间内解决类似的问题。所有颜色通道都一样吗?你可以:
cv::blur(...)
cv::subtract(...)
完整代码如下所示:
// Input matrix
// Image with "nothing"
Mat colorProfile = ...;
// Blur
blur(colorProfile, colorProfile, Size( 3, 3), Point(-1,-1));
// Translate the pixels down
double min, max;
minMaxLoc(colorProfile, &min, &max);
colorProfile = colorProfile - min
// Then for every image:
Mat inputImage = ...;
subtract(inputImage, colorProfile, inputImage);