目錄導航
數字圖像數據可以用矩陣表示。
數字圖像分類:
根據每個像素信息不同,通常將圖像分為:二值圖,灰度圖,RGB圖像
1.二值圖:
每個像素只有0(黑)1(白)兩種顏色的圖像成為二值圖。
2.灰度圖:
在黑與白之間構建更多的顏色深度,一般灰度從暗黑色到最亮的白色過渡,根據保存灰度數值所使用的的數據類型的不同,可以有2^k種,k=1時是二值圖,k=8時是常見的灰度圖。
3:RGB圖像:
有Red、Green、Blue三個顏色組合而成,三個顏色各有256個級別,每種原色采用8位二進制整數表示,於是三通道RGB共需要24位二進制數,共可以表示顏色種類數為256*256*256=2^24,大約1600萬種顏色。
Region初步理解:
Region可以理解為符合某些性質像素的子集。Region的形狀可以是任意的,單獨的個點都可以成為一個Region,Region結構是游程編碼的一種變體;
游程(行程)編碼:用一個符號值或串長代替具有相同值的連續符號,使符號長度少於原始數據的長度,屬於無損壓縮編碼。
例子: AAABBBBBCCDDDD
游程編碼:A3B5C2D4
threshold (Image, Region, 128, 255)
使用閾值分割圖像,得到灰度值在最小到最大之間的那些像素區域(二值化算子對於彩圖只針對第一通道二值化 可以通過access_channel(MultiChannelImage : Image : Channel : )獲取不同通道的圖像再進行二值化)
Region特征
(1)basic基礎特征:面積,中心,寬高,左上角及右下角坐標,長半軸短半軸橢圓方向,粗糙度,聯通數,最大半徑,方向等;
(2)shape形狀特征:外接圓半徑,內接圓半徑,圓度,緊密度,長度,矩形度,凸性,偏心率,外接矩形的方向及兩邊長度等;
(3)幾何矩特征:二階矩,三階矩,主慣性軸等;
regiongrowing(Image : Regions : Row, Column, Tolerance, MinSize : )
* 區域填充分割圖像 (生成的region可以通過select_shape算子選取凸性特征,convexity)
Row:掩膜的高;
Column:掩膜的款;
Tolerance:掩膜內灰度值差小於等於這個值則認為是同一個region;
MinSize:單個region的最小面積值;
area_center(Regions : : : Area, Row, Column)
* 計算面積和任意形狀的區域中心位置(中心位置不一定在region上)
union2(Region1, Region2 : RegionUnion : : )
* 把兩個region合並成一個region
* region2中的對象會先合並成一個對象再與region1中的對象進行合並,合並后的regionUnion對象個數與region1一致;
difference(Region, Sub :RegionDifference : : )
* 計算兩個區域的差 RegionDifference = Region - Sub
complement(Region : RegionComplement : : )
* 計算一個區域的補集
shape_trans(Region : RegionTrans : Type : ) * 轉換區域的形狀 Type:轉換類型(凸性,外接圓,內切圓,最小外接矩形(平行坐標軸),最小外接矩形(角度),內接矩形等)
XLD初步理解
相對於圖像image和區域region,這些數據結構是像素精度的,在實際工業應用中,需要比圖像像素分辨率更高的精度,這時就需要提取亞像素精度數據,亞像素精度數據可以通過亞像素閾值分割或者亞像素邊緣提取來獲得,這些處理得到的結果就是用亞像素輪廓來表示,XLD可以描述直線或者多邊形,是一組有序控制點的集合。
threshold_sub_pix(Image : Border : Threshold : )
* 提取圖像的XLD(提取XLD並不是沿着像素與像素交界的地方,而是經過插值處理后的位置)
select_shape_xld(XLD : SelectedXLD : Features, Operation, Min, Max : )
* 選擇特定形狀特征要求的XLD輪廓或多邊形 (如面積,中心坐標,寬度,長度,圓度,緊密度等等)
select_contours_xld(Contours : SelectedContours : Feature, Min1, Max1, Min2, Max2 : )
* 選擇多種特征要求的XLD輪廓(如輪廓長度,開閉特征等)
XLD與Region可以相互轉化,與Region有許多相似之處。
XLD特征:
1.basic基礎特征:XLD面積,中心,寬高,左上角及右下角坐標;
2.shape形狀特征:圓度,緊密度,長度,矩形度,凸性,偏心率,外接圓半徑,外接矩形方向及長度等;
3.points雲點特征:雲點面積,中心,方向,等效橢圓半軸及角度等;
4.moments幾何矩特征:二階矩等;
union_collinear_contours_xld(Contours : UnionContours : MaxDistAbs, MaxDistRel, MaxShift, MaxAngle, Mode : )
* 合並近似同一直線的XLD
△
union_cocircular_contours_xld(Contours : UnionContours : MaxArcAngleDiff, MaxArcOverlap, MaxTangentAngle, MaxDist, MaxRadiusDiff, MaxCenterDist, MergeSmallContours, Iterations : )
* 合並在同圓的XLD
MaxArcAngleDiff:定義圓上一個輪廓的端點到另一個輪廓的起點之間的最大角距離,以弧度為單位。 MaxArcOverlap:表示等高線可能重疊的最大角度。 MaxTangentAngle:描述圓切線與兩條等值線連接線之間的最大夾角。 MaxDistrict:表示兩條輪廓線的端點和起點的最大絕對距離(以像素為單位)。 MaxRadiusDiff:描述擬合到輪廓上的兩個圓的半徑的最大絕對差。 MaxCenterDist:描述兩個圓的中心最大歐氏距離。
union_adjacent_contours_xld(Contours : UnionContours : MaxDistAbs, MaxDistRel, Mode : )
* 合並端點相近的XLD
shape_trans_xld(XLD: XLDTrans : Type : )
* 轉換xld輪廓的形狀
segment_contours_xld(Contours : ContoursSplit : Mode, SmoothCont, MaxLineDist1, MaxLineDist2 : )
* 將XLD分割成:直線,直線和圓,直線和橢圓
fit_line_contour_xld
fit_circle_contour_xld
fit_ellipse_contour_xld
fit_rectangle2_contour_xld
trans_from_rgb
功能:轉換一個圖像從RGB空間轉換到任意一個空間
色相(Hue):色彩的基本屬性,如紅色,黃色,藍色,值范圍0~360
飽和度(Saturation):色彩的純度,值越高顏色越純,值越低顏色越淺,它表示所選顏色和該顏色最大純度之間的比率,范圍0~1,當取值為0時只有灰度
明度(Intensity):表示色彩的明亮程度
一般Hue范圍情況:
'Orange' -------> 10~30
'Red' -------> 0~10
'Blue' -------> 125~162
'Green' -------> 96~128
'Yellow' -------> 30~64