我试图为MATLABimflatfield
函数找到一个等价的Python函数
我有一段修改图像的代码,我想把它转换成Python
以下是MATLAB代码:
I = imread('lcs2.png');
out2 = imflatfield(I,30);
shadow_lab = rgb2lab(out2);
max_luminosity = 100;
L = shadow_lab(:,:,1)/max_luminosity;
shadow_adapthisteq = shadow_lab;
shadow_adapthisteq(:,:,1) = adapthisteq(L)*max_luminosity;
shadow_adapthisteq = lab2rgb(shadow_adapthisteq);
imwrite(shadow_adapthisteq,'lcs2_adap.jpg');
由于MATLAB发布了
imflatfield
的源代码,因此使用OpenCV在Python中实现它并不困难注意:该实现特定于
uint8
类型和彩色图像(Python中的BGR格式)以下是
imflatfield
的MATLAB“手动”实现:下面是一个等效的Python实现(使用OpenCV):
上述实现读取输入图像,并将结果写入图像文件
使用MATLAB比较结果(用于测试):
imflatfield
和my_imflatfield
之间的最大绝对差值为0
李>imflatfield
和Pythonimflatfield
之间的最大绝对差异是1
李>将完整的MATLAB代码转换为Python:
结果不会和MATLAB相同,因为MATLAB中的
adapthisteq
与OpenCV中的CLAHE
不相同结果:
相关问题 更多 >
编程相关推荐