[filename, pathname] = uigetfile({'*.jpg';'*.png'}, '选择图片');%素描处理 if isequal(filename,0) disp('用户取消选择'); else Path=strcat(pathname,filename);%strcat横向拼接字符串得到所选文件的绝对路径 img=imread(Path);%通过绝对路径选择文件 gray_img = rgb2gray(img); median_img = medfilt2(gray_img,[5 5]); bw_img = imbinarize(median_img,'adaptive','ForegroundPolarity','dark','Sensitivity',0.5); clean_img = bwareaopen(bw_img,20); result_img = repmat(clean_img,[1 1 3]).*double(img); grayImg = rgb2gray(img); sketchImg = imfuse(grayImg, result_img, 'blend', 'Scaling', 'joint'); app.Image.ImageSource=sketchImg; app.O=sketchImg; end这段代码是做什么的
时间: 2024-02-05 18:03:58 浏览: 314
把图片转换为素描
这段代码是一个MATLAB GUI程序的回调函数,用于实现图像素描的处理。当用户点击程序界面上的“选择图片”按钮后,会弹出一个对话框,让用户选择一张图片。然后程序会读取该图片,将其转换为灰度图像,并进行中值滤波、二值化、去除小区域等操作,最后与原始图像进行叠加得到素描效果的图像。最后,将得到的图像显示在程序界面上。
阅读全文