电子产业一站式赋能平台

PCB联盟网

搜索
查看: 257|回复: 0
收起左侧

MATLAB|实现超像素分割~实现油画效果~

[复制链接]

210

主题

210

帖子

1678

积分

三级会员

Rank: 3Rank: 3

积分
1678
发表于 2024-5-7 23:36:00 | 显示全部楼层 |阅读模式
点击上方蓝字和“好玩的MATLAB”一起快乐玩耍吧!

rlcnwe2gxlb6408486944.jpg

rlcnwe2gxlb6408486944.jpg

好玩的matlab
带你解锁不一样的matlab新玩法

因为平时特别忙好久没有更新公众号了,今天熬夜更新一下matlab超像素分割实现油画效果,喜欢此推文的小伙伴们记得点赞+关注+分享!【尊重作者劳动成果,转载请注明推文链接和公众号名】
效果图

h4rkdh53dsb6408487044.png

h4rkdh53dsb6408487044.png


cofowzicjnd6408487145.png

cofowzicjnd6408487145.png


原理介绍超像素分割的数学原理涉及到图像的特征空间和相似性度量。常用的特征空间包括颜色空间、亮度空间、纹理空间等。相似性度量通常使用欧氏距离、颜色差异度、梯度信息等来衡量两个像素之间的相似性。
算法的核心思想是在特征空间中对图像像素进行聚类,以确保每个超像素内的像素具有相似的特征。这种聚类通常采用迭代的方法,通过最小化超像素内部的方差和最大化超像素之间的差异来优化目标函数。
1初始化:选择初始超像素中心点。这些中心点可以是均匀分布在图像上的固定间隔的点,也可以通过一些算法初始化。
2超像素分配:根据像素和中心点之间的相似性度量,将每个像素分配到最近的超像素中心点所在的超像素。
3更新中心点:对于每个超像素,计算其所有像素的平均值,并将其作为新的中心点。
4迭代:重复步骤2和步骤3,直到收敛或达到最大迭代次数为止。
5后处理:根据需要对超像素进行后处理,如合并相邻的超像素、调整边界等。
绘图代码彩色油画收藏、点赞=学会
  • clc;clear;close all;img = imread('spring-7901015_1280.jpg');[L,N] = superpixels(img,3000);figureimgBW = boundarymask(L);imshow(imoverlay(img,imgBW,'w'),'InitialMagnification',67)opImg = zeros(size(img),'like',img);idx = label2idx(L);numRows = size(img,1);numCols = size(img,2);for labelVal = 1:N    rIdx = idx{labelVal};    gIdx = idx{labelVal}+numRows*numCols;    bIdx = idx{labelVal}+2*numRows*numCols;    opImg(rIdx) = mean(img(rIdx));    opImg(gIdx) = mean(img(gIdx));    opImg(bIdx) = mean(img(bIdx));end    figureimshow(opImg,'InitialMagnification',67)

    ejynju2l3fo6408487245.png

    ejynju2l3fo6408487245.png


    xxydsjvuhm26408487345.png

    xxydsjvuhm26408487345.png

    黑白油画
    收藏、点赞=学会
  • clc;clear;close all;img = imread('spring-7901015_1280.jpg');[L,N] = superpixels(img,3000);imgBW = boundarymask(L);imshow(imoverlay(img,imgBW,'k'),'InitialMagnification',67)opImg = zeros(size(img, 1), size(img, 2));idx = label2idx(L);for labelVal = 1:N    grayIdx = idx{labelVal};    rgbRegion = ind2rgb(img(grayIdx), colormap);    grayRegion = rgb2gray(rgbRegion);    grayValue = mean(grayRegion, 'all');    opImg(grayIdx) = grayValue;endfigureimshow(opImg, 'InitialMagnification', 67)

    sedsu2w1kj36408487445.png

    sedsu2w1kj36408487445.png



    1t3zouq5ayv6408487545.png

    1t3zouq5ayv6408487545.png


    先水一下推文,比较忙先更新到这~我主要想送书~

    lqmnuml404u2_058487645.png

    lqmnuml404u2_058487645.png




    - -THE END- -

    d2o4b4mulwv6408487745.png

    d2o4b4mulwv6408487745.png

    送书活动

    atftsx2jp0w6408487846.png

    atftsx2jp0w6408487846.png

    ojrgs4ua5ol6408487946.gif

    ojrgs4ua5ol6408487946.gif


    包邮赠送 「北京大学出版社赞助《MATLAB科研绘图绘制指南》本书是一本全面指导读者掌握MATLAB数据可视化的实用指南。全书精心编排了13章内容,旨在帮助读者了解和掌握MATLAB的数据分析和可视化功能。本书从MATLAB的基础知识讲到 数据可视化技巧,将帮助读者全面掌握科研绘图和学术图表的制作。本书不仅适合新手,也适用于有一定经验的MATLAB用户,是一本高效实用的学习工具书。

    2zcyw31ubcx6408488046.jpg

    2zcyw31ubcx6408488046.jpg

    了解更多
    ▼▼▼
    【抽奖方式及满足条件】:
    1.关注「好玩的MATLAB 」公众号和视频号

    pntqfzzgbry6408488146.jpg

    pntqfzzgbry6408488146.jpg

    2.给本文点【】+【在看】;
    3.留言区评论点赞最多的前3名。
    4.本活动只针对从未获过奖的同学,之前获过奖的小伙伴,不用参加。
    同时满足上述4个条件的读者朋友,包邮赠送一本
    【开奖时间】:2024年5月8日夜晚8点
    【领奖方式】:在开奖时加小编私人微信:idmatlab
    扫一扫加管理员微信

    zryu5znhbl06408488246.png

    zryu5znhbl06408488246.png

    2flaodtgjyt6408488346.jpg

    2flaodtgjyt6408488346.jpg
  • 回复

    使用道具 举报

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则


    联系客服 关注微信 下载APP 返回顶部 返回列表