use*_*655 1 matlab image image-processing image-segmentation
我想了解一下Matlab中的皱纹检测:

我想过使用霍夫变换,但它不能用于此.有什么想法我可以进一步处理吗?
我甚至想过使用sobe,canny和其他边缘探测器.但是当我阅读他们的文档时,他们并不是真正的边缘检测器.
close all
clear all
clc
Image = imread('imagename.jpg');
GrayImage = rgb2gray(Image);
FiltImage = edge(GrayImage ,'sobel');
imshow(FiltImage)
Run Code Online (Sandbox Code Playgroud)
我希望所有皱纹都是白色像素,其余图像都是黑色.
我从Frangi等人的纸质基于Hessian的 Multiscale Vessel Enhancement Filtering中借用了血管检测中使用的方法.有一个Matlab实现,FrangiFilter2D,适用于2D血管图像.我试着将它应用于皱纹检测.
options = struct('FrangiScaleRange', [5 5], 'FrangiScaleRatio', 1, 'FrangiBetaOne', 1,...
'FrangiBetaTwo', 500, 'verbose',true,'BlackWhite',true);
[outIm,whatScale,Direction] = FrangiFilter2D(double(GrayImage), options);
imshow(uint8(outIm/max(outIm(:))*256))
Run Code Online (Sandbox Code Playgroud)
它看起来比纯边缘提取更好,但是需要通过(i)调整参数以及(ii)与其他图像处理策略组合来进行一些改进.
