1、影象旋轉注意
影象旋轉之前一定要有座標平移,避免資訊丟失
旋轉後會有許多空洞點,要對其進行填充處理,或者稱為插值
2、影象濾波一些概念:
訊號處理--二維訊號、高頻、低頻、高通及低通濾波、
濾波:高通濾波用於邊緣檢測,低通濾波用於平滑去噪
線性濾波:
方框(使用時一定要注意是否需要歸一化,不歸一化可能會溢位即大部分都變白)、
均值(一般kernel取奇數)、
高斯(kernel的值不同,中心點較大)濾波
高斯濾波相比均值濾波效率低,但可以消除高斯雜訊,能保留更多影象細節,用的也比較多
非線性濾波:中值、雙邊濾波(結合影象的空間鄰近度和畫素值相似度的一種折中法,保邊去躁,簡單,非迭代,區域性處理)
3、plt顯示的格式是rgb,opencv讀取的是bgr格式,需要轉換才能正常顯示
4、影象在視窗顯示
cv2.imshow("",img)
cv2.waitkey(0)
cv2.destroyallwindows()
小結:不同濾波得到的不一樣效果,也可以進行疊加
5、伽馬變化:提公升暗部細節,非線性變化後使人眼看著舒服
6、形態學操作:從影象中提取對表達和描述區域形狀有意義的影象分量,抓住本質特徵
7、膨脹腐蝕不僅會變胖變瘦,還會將原本有空隙的地方變小變大或者補起來
膨脹:大部分應用在二值影象,而且相對於二值影象來說,相當於白的是領土,領土擴張
擊中:膨脹元素中為1的部分(1)和主元素任何乙個地方有交點就算擊中,擊中就要把錨點處(2)進行標記,標記的話取最大(3)值進行標記
腐蝕:相當於黑的是領土,領土擴張,腐蝕一定會變小
灰度圖腐蝕時對模板內的畫素排序,取最值放在模板的中心點:錨點(b)-----腐蝕過程經常被面試到
圖中的陰影部分就是被腐蝕的結果,x表示最大的正方形框,b表示圓形,b完全在x內就留下,其他部分被腐蝕
腐蝕過程:1、先判斷錨點是否和前景點有交集,有交集的話2、再判斷是1的部分是不是都被放在前景中,都滿足就保留
8、開運算--斷開
先腐蝕再以相同的元素進行膨脹運算,去縫隙作用
瘦(腐蝕)下來的如果消失了就不會再出現(膨脹)了
結構元素的選擇,大小,形狀的選擇會得到不同的結果
9、閉運算--封閉
正好相反
兩個有縫的地方進行連線
10、形態學梯度
基礎梯度、內部梯度、外部梯度
頂帽、黑帽
這些操作是為了看到操作之後得到了什麼,失去了什麼
OpenCV學習注意細節一
1 opencv讀取的格式是bgr,格式不同,色調不太相同 cv2.imread 可以設定讀取灰度 彩圖或者其他 2 灰度轉化 3 1的話,有公式 1 3的話,相同的值付給三個通道 3 cv2.waitkey 等待時間 設定多少,視窗顯示多久 4 merge通道合併時,通道是以列表形式放進來的 r,...
Opencv相關細節
cvgetperpective 和 cvfindhomography 前者是計算透視對映矩陣,後者是計算單應性矩陣。當是逆透視的時候,前者可以認為是平面的單應性矩陣。如上面的圖所示 矩形寬度為300 矩形高度為900 比例值為 5 這個是輸出後的畫素與距離的對應關係 橫向偏移距離 0 縱向偏移距離 ...
注意細節和習慣(二)除錯
1.按照乙份比較好的編碼規範書寫 這個樣做不僅僅是為了增強可讀性,更重要的是可以幫你減少除錯的時間,無形之間賦予你更多的生命 2.使用良好的注釋風格,為了別人,更為了自己。3.使用版本管理器吧,在瘋狂的修改之後,你可能會陷入僵局,這個時候,重新開始是個不錯的選擇。4.增加足夠的引數檢查。千萬不要以為...