電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 203|回復: 0
收起左側(cè)

MATLAB|實現(xiàn)超像素分割~實現(xiàn)油畫效果~

[復制鏈接]

193

主題

193

帖子

1532

積分

三級會員

Rank: 3Rank: 3

積分
1532
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2024-5-7 23:36:00 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
點擊上方藍字和“好玩的MATLAB”一起快樂玩耍吧!

好玩的matlab
帶你解鎖不一樣的matlab新玩法

因為平時特別忙好久沒有更新公眾號了,今天熬夜更新一下matlab超像素分割實現(xiàn)油畫效果,喜歡此推文的小伙伴們記得點贊+關注+分享!【尊重作者勞動成果,轉(zhuǎn)載請注明推文鏈接和公眾號名】
效果圖




原理介紹超像素分割的數(shù)學原理涉及到圖像的特征空間和相似性度量。常用的特征空間包括顏色空間、亮度空間、紋理空間等。相似性度量通常使用歐氏距離、顏色差異度、梯度信息等來衡量兩個像素之間的相似性。
算法的核心思想是在特征空間中對圖像像素進行聚類,以確保每個超像素內(nèi)的像素具有相似的特征。這種聚類通常采用迭代的方法,通過最小化超像素內(nèi)部的方差和最大化超像素之間的差異來優(yōu)化目標函數(shù)。
1初始化:選擇初始超像素中心點。這些中心點可以是均勻分布在圖像上的固定間隔的點,也可以通過一些算法初始化。
2超像素分配:根據(jù)像素和中心點之間的相似性度量,將每個像素分配到最近的超像素中心點所在的超像素。
3更新中心點:對于每個超像素,計算其所有像素的平均值,并將其作為新的中心點。
4迭代:重復步驟2和步驟3,直到收斂或達到最大迭代次數(shù)為止。
5后處理:根據(jù)需要對超像素進行后處理,如合并相鄰的超像素、調(diào)整邊界等。
繪圖代碼彩色油畫收藏、點贊=學會
  • 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)



    黑白油畫
    收藏、點贊=學會
  • 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)





    先水一下推文,比較忙先更新到這~我主要想送書~




    - -THE END- -


    送書活動



    包郵贈送 「北京大學出版社贊助《MATLAB科研繪圖繪制指南》本書是一本全面指導讀者掌握MATLAB數(shù)據(jù)可視化的實用指南。全書精心編排了13章內(nèi)容,旨在幫助讀者了解和掌握MATLAB的數(shù)據(jù)分析和可視化功能。本書從MATLAB的基礎知識講到 數(shù)據(jù)可視化技巧,將幫助讀者全面掌握科研繪圖和學術圖表的制作。本書不僅適合新手,也適用于有一定經(jīng)驗的MATLAB用戶,是一本高效實用的學習工具書。

    了解更多
    ▼▼▼
    【抽獎方式及滿足條件】:
    1.關注「好玩的MATLAB 」公眾號和視頻號

    2.給本文點【】+【在看】;
    3.留言區(qū)評論點贊最多的前3名。
    4.本活動只針對從未獲過獎的同學,之前獲過獎的小伙伴,不用參加。
    同時滿足上述4個條件的讀者朋友,包郵贈送一本
    【開獎時間】:2024年5月8日夜晚8點
    【領獎方式】:在開獎時加小編私人微信:idmatlab
    掃一掃加管理員微信

  • 回復

    使用道具 舉報

    發(fā)表回復

    您需要登錄后才可以回帖 登錄 | 立即注冊

    本版積分規(guī)則


    聯(lián)系客服 關注微信 下載APP 返回頂部 返回列表