我第一次尝试使用MATLAB对皮肤病变图像进行图像小波变换,以便训练分割模型,偶然发现了这个库https://www.mathworks.com/matlabcentral/fileexchange/19860-berkeley-wavelet-transform
我试着用在我的数据集上
myFolder = 'D:\Data\dataset256p\image\imgs';
if ~isfolder(myFolder)
errorMessage = sprintf('Error: folder does not exist.');
end
filePattern = fullfile(myFolder, '*.jpg');
theFiles = dir(filePattern);
numberofImages = length(theFiles);
for k = 1 : numberofImages
baseFileName = theFiles(k).name;
fullFileName = fullfile(theFiles(k).folder, baseFileName);
imageArray = imread(fullFileName);
image = rgb2gray(imageArray);
im = double(image);
im = mean(im,3);
sz = min(size(im));
im = im(1:sz,1:sz);
newsz = 3^floor(log(sz)/log(3));
im = imresize(im,newsz/sz);
Output=bwt(im);
imwrite(imageArray,sprintf('%s_Original.jpg',baseFileName));
imwrite(Output,sprintf('%s_BWT.jpg',baseFileName));
break;
end
但是我没有得到预期的结果,我不知道下一步该怎么办
这是我拍到的照片Original
Applying the above process
以下是BWT的参考文件:The Berkeley Wavelet Transform: A Biologically Inspired Orthogonal Wavelet Transform
这是我希望得到的结果applying the 8 mother wavelets on the dermoscopic images to form the berkeley wavelet decomposed image
先谢谢你。
1条答案
按热度按时间fafcakar1#
您所附加的结果是BWT分解。您可以使用它进行处理,这取决于您想要做什么。如果您想要恢复完整的图像,则必须调用重建函数:
但是如果在分解时直接调用它而不进行处理,则会获得与输入图像类似的结果。