我一直在用matlab解决如何校正下面的色差图像,网上的信息似乎不够多,这就是为什么我很难理解它。
我尝试了下面的代码,将图像分割成RGB并生成一个直方图。直方图显示蓝色通道保持不变,但绿色和红色通道失真。
我将感激任何帮助,谢谢你。
cl = imread('raw3-image22.png');
% Extract colour channels
redChannel = cl(:,:,1); % Red channel
greenChannel = cl(:,:,2); % Green channel
blueChannel = cl(:,:,3); % Blue channel
allBlack = zeros(size(cl, 1), size(cl, 2), 'uint8')
red = cat(3, redChannel, allBlack, allBlack);
green = cat(3, allBlack, greenChannel, allBlack);
blue = cat(3, allBlack, allBlack, blueChannel);
imshow(cl);
improfile;
1条答案
按热度按时间dkqlctbz1#
从我所看到的来看,蓝色平面在焦点上,而绿色和红色越来越模糊。
您可以尝试监督去模糊,使用星点扩散函数,绿色和红色平面分开。
不过,去模糊从来都不是完美的。
[想必您不会喜欢这个解决方案:模糊绿色和蓝色平面,并在重组后,通过抽取降低图像分辨率。]