日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab处理亮度不均匀,校正亮度不均匀问题并分析前景对象

發布時間:2024/7/5 循环神经网络 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab处理亮度不均匀,校正亮度不均匀问题并分析前景对象 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

預處理圖像

將圖像讀入工作區。

I = imread('rice.png');

imshow(I)

圖像中心的背景亮度比底部亮度高。預處理圖像,使背景亮度更加均勻。

第一步,使用形態學開運算刪除所有前景(米粒)。開運算會刪除無法完全包含結構元素的小對象。定義半徑為 15 的盤形結構元素,它完全可放入一粒米內。

se = strel('disk',15)

se =

strel is a disk shaped structuring element with properties:

Neighborhood: [29x29 logical]

Dimensionality: 2

要執行形態學開運算,請使用具有結構元素的 imopen。

background = imopen(I,se);

imshow(background)

從原始圖像 I 中減去背景逼近圖像 background,然后查看生成的圖像。從原始圖像中減去調整后的背景圖像后,生成的圖像具有均勻的背景,但現在對于分析來說有點暗。

I2 = I - background;

imshow(I2)

使用 imadjust,通過在低強度和高強度下都對 1% 的數據進行飽和處理,并通過拉伸強度值以填充 uint8 動態范圍,來提高處理后的圖像 I2 的對比度。

I3 = imadjust(I2);

imshow(I3)

請注意,前面的兩個步驟可以由使用 imtophat 的一個步驟來代替完成,后者先計算形態學開運算,然后從原始圖像中減去它。

I2 = imtophat(I,strel('disk',15));

創建處理后的圖像的二值版本,以便使用工具箱函數進行分析。使用 imbinarize 函數將灰度圖像轉換為二值圖像。使用 bwareaopen 函數去除圖像中的背景噪聲。

bw = imbinarize(I3);

bw = bwareaopen(bw,50);

imshow(bw)

識別圖像中的對象

現在您已創建原始圖像的二值版本,您可以對圖像中的對象執行分析。

在二值圖像中查找所有連通分量(對象)。結果的準確度取決于對象的大小、連通性參數(4、8 或任意值),以及是否有相互接觸的對象(在這種情況下,它們可能被標記為一個對象)。二值圖像 bw 中的一些米粒相互接觸。

cc = bwconncomp(bw,4)

cc = struct with fields:

Connectivity: 4

ImageSize: [256 256]

NumObjects: 95

PixelIdxList: {1x95 cell}

cc.NumObjects

ans = 95

查看圖像中標記為 50 的米粒。

grain = false(size(bw));

grain(cc.PixelIdxList{50}) = true;

imshow(grain)

通過創建標簽矩陣,然后將其顯示為偽彩色索引圖像,可視化圖像中的所有連通分量。

使用 labelmatrix 根據 bwconncomp 的輸出創建標簽矩陣。請注意,labelmatrix 將標簽矩陣存儲在依對象數量得出的最小數值類中。

labeled = labelmatrix(cc);

whos labeled

Name Size Bytes Class Attributes

labeled 256x256 65536 uint8

使用 label2rgb 選擇顏色圖、背景顏色以及標簽矩陣中的對象如何映射到顏色圖中的顏色。在偽彩色圖像中,用于標識標簽矩陣中每個對象的標簽映射到相關聯的顏色圖矩陣中的不同顏色。

RGB_label = label2rgb(labeled,'spring','c','shuffle');

imshow(RGB_label)

計算基于面積的統計量

使用 regionprops 計算圖像中每個對象的面積。每個米粒均為 cc 結構體中的一個連通分量。

graindata = regionprops(cc,'basic')

graindata=95×1 struct array with fields:

Area

Centroid

BoundingBox

創建新向量 grain_areas,它保存每個米粒的面積測量值。

grain_areas = [graindata.Area];

計算第 50 個分量的面積。

grain_areas(50)

ans = 194

找到并顯示面積最小的米粒。

[min_area, idx] = min(grain_areas)

min_area = 61

idx = 16

grain = false(size(bw));

grain(cc.PixelIdxList{idx}) = true;

imshow(grain)

使用 histogram 命令創建米粒面積的直方圖。

histogram(grain_areas)

title('Histogram of Rice Grain Area')

總結

以上是生活随笔為你收集整理的matlab处理亮度不均匀,校正亮度不均匀问题并分析前景对象的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。