几何运算
幾何運(yùn)算
.概念
幾何運(yùn)算就是改變圖像中物體對象(像素)之間的空 間關(guān)系。
從變換性質(zhì)來分,幾何變換可以分為圖像的位置變換 (平移、鏡像、旋轉(zhuǎn))、形狀變換(放大、縮小)以 及圖像的復(fù)等合變換。 圖像幾何運(yùn)算的一般定義為?
圖像的平移(Image Translation)
圖像的鏡像(Mirror): 定義:指原始圖像相對于某一參照面旋轉(zhuǎn)180°的圖像
11 (,) xy wh
00 (,) xy 設(shè)原始圖像的寬為,高為,原始圖像中的點(diǎn)為 ,對稱變換后的點(diǎn)為
(2)垂直鏡像(相對于軸) x
垂直鏡像的變換公式為如下:
圖像的旋轉(zhuǎn): 一般圖像的旋轉(zhuǎn)是以圖像的中心為原點(diǎn),旋轉(zhuǎn)一定的角 度,即將圖像上的所有像素都旋轉(zhuǎn)一個相同的角度。
設(shè)原始圖像的任意點(diǎn)經(jīng)旋轉(zhuǎn)角度以后到 新的位置,為表示方便,采用極坐標(biāo)形式 表示,原始的角度為,如下圖所示:
圖像旋轉(zhuǎn)之后,由于數(shù)字圖像的坐標(biāo)值必須是整 數(shù),因此,可能引起圖像部分像素點(diǎn)的局部改變, 因此,這時圖像的大小也會發(fā)生一定的改變。 若圖像旋轉(zhuǎn)角=45時,則變換關(guān)系如下:
圖像繞任意點(diǎn)旋轉(zhuǎn) 上述的旋轉(zhuǎn)是繞坐標(biāo)軸原點(diǎn)(0,0)進(jìn)行的,如果是繞 某一個指定點(diǎn)(a,b)旋轉(zhuǎn),則先要將坐標(biāo)系平移到該 點(diǎn),再進(jìn)行旋轉(zhuǎn),然后將旋轉(zhuǎn)后的圖像平移回原坐標(biāo)系。 例如,我們這里以圖像的中心為旋轉(zhuǎn)中心:
利用公式進(jìn)行圖像旋轉(zhuǎn)正變換時需要注意如下兩點(diǎn): 1、為了避免圖像信息的丟失,圖像旋轉(zhuǎn)后必須進(jìn)行平移 變換。 2、圖像旋轉(zhuǎn)之后,會出現(xiàn)許多空洞點(diǎn),我們需要對這些 空洞點(diǎn)必須進(jìn)行填充處理,否則圖像旋轉(zhuǎn)后的效果不好, 一般也稱這種操作為插值處理,可采用行或列插值方法。 最簡單的插值方法是,圖像旋轉(zhuǎn)前某一點(diǎn)(x,y)的像 素點(diǎn)顏色,除了填充在旋轉(zhuǎn)后坐標(biāo)(x’,y’)上外, 還要填充(x’+1,y’)和(x’,y’+1)。
以原始圖像的點(diǎn)(1,1)為例,旋轉(zhuǎn)以后,均為小 數(shù),經(jīng)舍入后為(1,0),產(chǎn)生了位置誤差。因此, 圖像旋轉(zhuǎn)之后,可能會出現(xiàn)一些空白點(diǎn),需要對這 些空白點(diǎn)進(jìn)行灰度級的插值處理,否則影響旋轉(zhuǎn)后 的圖像質(zhì)量。
?
?
?
總結(jié)
- 上一篇: java学习(117):list迭代器和
- 下一篇: ListView控件数据操作——通过代码