[2018/11/13]图像处理
生活随笔
收集整理的這篇文章主要介紹了
[2018/11/13]图像处理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今晚圖像處理課.
我已經把Matlab當作PhotoShop來學了, 看看能把我的照片處理成什么樣子.
上節課學了8.6節圖像分割
今天學習8.6節二值圖像處理
?
圖像的邊沿不太光滑的時候可以使用該方法處理邊緣.
腐蝕可以把連在一起的圖片分開.
?
腐蝕的代碼:
originalBW = imread('circles.png'); se = strel('disk', 10); erodedBW = imerode(originalBW, se); imshow(originalBW), figure, imshow(erodedBW)結果:
通過腐蝕之后, 可以數清楚圖片中有多少個圓形.
?
膨脹的代碼:
bw = imread('text.png'); se = strel('line',5,90); bw2 = imdilate(bw, se); imshow(bw), title('Original') figure, imshow(bw2), title('Dilated')結果:
膨脹之后使得字體變形.
這是我的頭像膨脹后的樣子, 果然很膨脹
?
8.6.2 開運算和閉運算
開運算: 先腐蝕再膨脹, 消除圖像的細節.
比運算: 先膨脹再腐蝕, 填充物體內部的細小的空洞.
?
開運算結果:
閉運算結果:
?
?
填洞的操作, 將圖片內部的黑色的空洞處理掉才能夠方便的對圖像進行后續的處理.
代碼:
I=imread('coins.png'); BW4 = im2bw(I); BW5 = imfill(BW4, 'holes'); imshow(BW4), figure, imshow(BW5)填洞后的結果, 可以看出每個圓圈的外表都十分的光滑, 內部的黑色的洞都沒有了.
?
?
10.4.1 簡單的區域描述
regionprops()函數
常見的拓撲結構:
孔洞
?
10.4.3: 形狀的描述
1、和圓形有多接近,方法: 面積/周長
2、偏心度
?
案例: 測試圖片的重心, 從而可以判斷有多少個硬幣:
上代碼:
clear clc; close all; I=imread('coins.png'); BW4 = im2bw(I); BW5 = imfill(BW4, 'holes'); imshow(BW4), figure, imshow(BW5) s = regionprops(BW5, 'centroid'); centroids = cat(1, s.Centroid); [m, n]=size(centroids); imshow(I) hold on plot(centroids(:, 1), centroids(:,2), 'b*') hold off m計算出總數:
?
綜合的例子, 不僅可以計算有多少個硬幣, 同時可以計算出金額總和:
上代碼:
%讀取圖像 RGB = imread('coins.jpg'); %I=rgb2gray(RGB); I=RGB; %閾值分割圖像 threshold = graythresh(I); bw = im2bw(I,threshold); bw=~bw; bw = bwareaopen(bw,100); se = strel('disk',2); bw = imclose(bw,se); bw = imfill(bw,'holes'); [B,L] = bwboundaries(bw,'noholes'); stats = regionprops(L,'Area','Centroid'); array=zeros(1,length(B)); %求硬幣的直徑 for k = 1:length(B)boundary = B{k};delta_sq = diff(boundary).^2; perimeter = sum(sqrt(sum(delta_sq,2)));radius=perimeter/(2*pi);array(k)=radius; end %分類 B=sort(array); row=length(B); maxcoin=max(B); mincoin=min(B); for i=1:rowif(abs(B(i)-maxcoin)<2)B(i)=10;elseif (abs(B(i)-mincoin)<2)B(i)=1;elseB(i) = 5;end end %輸出錢數 c=sum(B)結果:
?
轉載于:https://www.cnblogs.com/huangZ-H/p/9953969.html
總結
以上是生活随笔為你收集整理的[2018/11/13]图像处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JEMTER简单的测试计划
- 下一篇: NABCD分析