www.gusucode.com > IPCV_Eval_Kit_R2019a_0ce6858工具箱matlab程序源码 > IPCV_Eval_Kit_R2019a_0ce6858/code/demo_files/I2_08_1_nuts.m

    %% 栘偺幚摍傪僇僂儞僩詡眰虝綃蟼虘鍌珎
% 弶婜壔
clear;clc;close all;imtool close all

%% 夋憸僨乕僞傪撉崬傒
I = imread('I2_08_1_1895cr.jpg');
figure;imshow(I);

%% 俀抣夋憸傪嶌惉偟丄暔懱偲攚宨傪幆暿 %%%%%%%%%%%%%%%%%%
% 僌儗乕僗働乕儖傊曄姺
G = rgb2gray(I);
figure;imshow(G);

%% 婸搙偺僸僗僩僌儔儉傪妋擣
figure;imhist(G);

%% 婸搙偵傛傝擇抣壔 (攚宨偑0丄暔懱偑1偺2抣夋憸嶌惉)
BW = G < 180;      %140偐傜10偢偮丄"抣偺僀儞僋儕儊儞僩偍傛傃僙僋僔儑儞幚峴"
imshow(BW);shg;

%% 僄僢僕専弌
BWe = edge(G,'canny', [0.04 0.06], 3);
imshow(BWe);shg;   %奼戝偟偰椫妔偑偮側偑偭偰偄傞偙偲傪妋擣

%% 儌儖僼僅儘僕乕張棟丗慄偱埻傑傟偰偄傞椞堟傪杽傔傞
BWf1 = imfill(BWe, 'holes');
imshow(BWf1); shg;

%% 儌儖僼僅儘僕乕張棟丗愗傟偰偄傞晹暘傪偮側偖
BWb = bwmorph(BWf1, 'bridge');
imshow(BWb); shg;                     % 偮側偑偭偨偙偲傪妋擣

%% 嵞搙丄慄偱埻傑傟偰偄傞晹暘傪杽傔傞
BWf2 = imfill(BWb, 'holes');
imshow(BWf2); shg;

% 儌儖僼僅儘僕乕張棟丗嵶偐側慄(僲僀僘)傪嶍彍丗僆乕僾儞張棟 (廂弅屻偵朿挘)
% 乮懠偵丄bwareaopen()娭悢偱峴偆偙偲傕壜擻 乯
%% 廂弅張棟
BWe = bwmorph(BWf2, 'erode');
figure;imshow(BWe); shg;

%% 朿挘張棟
BWd = bwmorph(BWe, 'dilate');
figure;imshow(BWd); shg;

%% 奺椞堟乮blob丗敀偄晹暘乯偺宍忬應掕 (柺愊丒拞怱揰)
stats=regionprops('table', BWd, 'Area', 'Centroid')  % R2015a 偱僥乕僽儖弌椡偵懳墳

%% 屄悢
size(stats, 1)

%% 柺愊偺僸僗僩僌儔儉傪僾儘僢僩
figure;hist([stats.Area])

%% 僀儊乕僕偺夝愅 傾僾儕働乕僔儑儞 偱 BWd傪撉崬傒

%% 廔椆



%% Copyright 2013 The MathWorks, Inc.
%    Masa Otobe (masa.otobe@mathworks.co.jp)
% 昁梫側僼傽僀儖丗I2_08_1_1895cr.jpg