图像处理面试题
文章目錄
- 1、給定0-1矩陣,求連通域。
- 2、寫一個函數,求灰度圖的直方圖。
- 3、寫一個均值濾波(中值濾波)。
- 4、寫出高斯算子,Sobel算子,拉普拉斯算子等,以及它們梯度方向上的區別。
- 5、常用的特征提取方法。
- 6、常用的目標檢測方法。
- 7、常用的邊緣提取方法。
- 8、常用的插值方法。
- 9、常用的圖像分割算法。
- 10、寫一個圖像resize函數(放大和縮小)。
- 11、彩色圖像、灰度圖像、二值圖像和索引圖像區別?(索引圖像到底是啥?)
- 12、深度學習中目標檢測的常用方法,異同。
- 13、給定攝像頭范圍和圖像大小求分辨率。
- 14、如何檢測圖片中的汽車,并識別車型,如果有遮擋怎么辦?
- 15、數字識別的流程。
- 16、介紹神經網絡、SVM、AdaBoost、kNN…(每一個都可能深入問各種細節)
- 17、寫梯度下降代碼。
- 18、卷積神經網絡與神經網絡的區別。
- 19、卷積層的作用、pooling層的作用,全連接層的作用。
- 20、過擬合和欠擬合分別是什么,如何改善。
- 21、1x1卷積和的作用。
- 22、計算卷積神經網絡某一層參數量。
- 22、opencv遍歷像素的方式?
- 23、LBP原理?
- 24、HOG特征計算過程,還有介紹一個應用HOG特征的應用?
- 25、opencv里面mat有哪些構造函數?
- 26、如何將buffer類型轉化為mat類型?
- 27、opencv如何讀取png格式的圖片?
- 28、opencv如何讀取內存圖片?
- 29、opencv里面有哪些庫?
- 30、用過opencv里面哪些函數?
- 31、opencv里面為啥是bgr存儲圖片而不是人們常聽的rgb?
- 32、你說opencv里面的HOG+SVM效果很差?他就直接來了句為啥很差?差了就不改了?差了就要換其他方法?、
- 33、講講HOG特征?他在dpm里面怎么設計的,你改過嗎?HOG能檢測邊緣嗎?里面的核函數是啥?那hog檢測邊緣和canny有啥區別?
- 34、如何求一張圖片的均值?
- 35、如何寫程序將圖像放大縮小?
- 36、如何遍歷一遍求一張圖片的方差?
- 37、高斯噪聲和椒鹽噪聲
1、給定0-1矩陣,求連通域。
二值圖像分析最重要的方法就是連通區域標記,它是所有二值圖像分析的基礎,它通過對二值圖像中白色像素(目標)的標記,讓每個單獨的連通區域形成一個被標識的塊,進一步的我們就可以獲取這些塊的輪廓、外接矩形、質心、不變矩等幾何參數。
連通域:在圖像中,最小的單位是像素,每個像素周圍有8個鄰接像素,常見的鄰接關系有2種:4鄰接與8鄰接。
如果A與B連通,B與C連通,則A與C連通。在視覺上看來,彼此連通的點形成了一個區域,而不連通的點形成了不同的區域。這樣的一個所有的點彼此連通點構成的集合,我們稱為一個連通區域。
L = bwlabel(BW,n)
2、寫一個函數,求灰度圖的直方圖。
3、寫一個均值濾波(中值濾波)。
4、寫出高斯算子,Sobel算子,拉普拉斯算子等,以及它們梯度方向上的區別。
- sobel算子:
其主要用于邊緣檢測,在技術上它是以離散型的差分算子,用來運算圖像亮度函數的梯度的近似值, Sobel算子是典型的基于一階導數的邊緣檢測算子,由于該算子中引入了類似局部平均的運算,因此對噪聲具有平滑作用,能很好的消除噪聲的影響。Sobel算子對于象素的位置的影響做了加權,與Prewitt算子、Roberts算子相比因此效果更好。Sobel算子包含兩組3x3的矩陣,分別為橫向及縱向模板,將之與圖像作平面卷積,即可分別得出橫向及縱向的亮度差分近似值。缺點是Sobel算子并沒有將圖像的主題與背景嚴格地區分開來,換言之就是Sobel算子并沒有基于圖像灰度進行處理,由于Sobel算子并沒有嚴格地模擬人的視覺生理特征,所以提取的圖像輪廓有時并不能令人滿意。
- Roberts算子:
Roberts算子 羅伯茨算子、Roberts算子是一種最簡單的算子,是一種利用局部差分算子尋找邊緣的算子,他采用對角線方向相鄰兩象素之差近似梯度幅值檢測邊緣。檢測垂直邊緣的效果好于斜向邊緣,定位精度高,對噪聲敏感,無法抑制噪聲的影響。1963年,Roberts提出了這種尋找邊緣的算子。Roberts邊緣算子是一個2x2的模板,采用的是對角方向相鄰的兩個像素之差。從圖像處理的實際效果來看,邊緣定位較準,對噪聲敏感。適用于邊緣明顯且噪聲較少的圖像分割。Roberts邊緣檢測算子是一種利用局部差分算子尋找邊緣的算子,Robert算子圖像處理后結果邊緣不是很平滑。經分析,由于Robert算子通常會在圖像邊緣附近的區域內產生較寬的響應,故采用上述算子檢測的邊緣圖像常需做細化處理,邊緣定位的精度不是很高。
- prewitt算子:
Prewitt算子 Prewitt算子是一種一階微分算子的邊緣檢測,利用像素點上下、左右鄰點的灰度差,在邊緣處達到極值檢測邊緣,去掉部分偽邊緣,對噪聲具有平滑作用 。其原理是在圖像空間利用兩個方向模板與圖像進行鄰域卷積來完成的,這兩個方向模板一個檢測水平邊緣,一個檢測垂直邊緣。經典Prewitt算子認為:凡灰度新值大于或等于閾值的像素點都是邊緣點。即選擇適當的閾值T,若P(i,j)≥T,則(i,j)為邊緣點,P(i,j)為邊緣圖像。這種判定是欠合理的,會造成邊緣點的誤判,因為許多噪聲點的灰度值也很大,而且對于幅值較小的邊緣點,其邊緣反而丟失了。Prewitt算子對噪聲有抑制作用,抑制噪聲的原理是通過像素平均,但是像素平均相當于對圖像的低通濾波,所以Prewitt算子對邊緣的定位不如Roberts算子。因為平均能減少或消除噪聲,Prewitt梯度算子法就是先求平均,再求差分來求梯度。該算子與Sobel算子類似,只是權值有所變化,但兩者實現起來功能還是有差距的,據經驗得知Sobel要比Prewitt更能準確檢測圖像邊緣
- Laplace算子:
Laplacian算子Laplace算子是一種各向同性算子,二階微分算子,在只關心邊緣的位置而不考慮其周圍的象素灰度差值時比較合適。Laplace算子對孤立象素的響應要比對邊緣或線的響應要更強烈,因此只適用于無噪聲圖象。存在噪聲情況下,使用Laplacian算子檢測邊緣之前需要先進行低通濾波。所以,通常的分割算法都是把Laplacian算子和平滑算子結合起來生成一個新的模板。拉普拉斯算子也是最簡單的各向同性微分算子,具有旋轉不變性。一個二維圖像函數的拉普拉斯變換是各向同性的二階導數。拉式算子用來改善因擴散效應的模糊特別有效,因為它符合降制模型。擴散效應是成像過程中經常發生的現象。Laplacian算子一般不以其原始形式用于邊緣檢測,因為其作為一個二階導數,Laplacian算子對噪聲具有無法接受的敏感性;同時其幅值產生算邊緣,這是復雜的分割不希望有的結果;最后Laplacian算子不能檢測邊緣的方向;所以Laplacian在分割中所起的作用包括:(1)利用它的零交叉性質進行邊緣定位;(2)確定一個像素是在一條邊緣暗的一面還是亮的一面;一般使用的是高斯型拉普拉斯算子(Laplacian of a Gaussian,LoG),由于二階導數是線性運算,利用LoG卷積一幅圖像與首先使用高斯型平滑函數卷積改圖像,然后計算所得結果的拉普拉斯是一樣的。所以在LoG公式中使用高斯函數的目的就是對圖像進行平滑處理,使用Laplacian算子的目的是提供一幅用零交叉確定邊緣位置的圖像;圖像的平滑處理減少了噪聲的影響并且它的主要作用還是抵消由Laplacian算子的二階導數引起的逐漸增加的噪聲影響。
- Canny算子:
Canny算子Canny算子是一個具有濾波,增強,檢測的多階段的優化算子,在進行處理前,Canny算子先利用高斯平滑濾波器來平滑圖像以除去噪聲,Canny分割算法采用一階偏導的有限差分來計算梯度幅值和方向,在處理過程中,Canny算子還將經過一個非極大值抑制的過程,最后Canny算子還采用兩個閾值來連接邊緣。邊緣提取的基本問題是解決增強邊緣與抗噪能力間的矛盾,由于圖像邊緣和噪聲在頻率域中同是高頻分量,簡單的微分提取運算同樣會增加圖像中的噪聲,所以一般在微分運算之前應采取適當的平滑濾波,減少噪聲的影響。Canny運用嚴格的數學方法對此問題進行了分析,推導出由# 個指數函數線性組合形式的最佳邊緣提取算子網,其算法的實質是用一個準高斯函數作平滑運算,然后以帶方向的一階微分定位導數最大值,Canny算子邊緣檢測是一種比較實用的邊緣檢測算子,具有很好的邊緣檢測性能。Canny邊緣檢測法利用高斯函數的一階微分,它能在噪聲抑制和邊緣檢測之間取得較好的平衡。
- Laplacian of Gaussian 算子:
Laplacian of Gaussian(LoG)算子 利用圖像強度二階導數的零交叉點來求邊緣點的算法對噪聲十分敏感,所以,希望在邊緣增強前濾除噪聲.為此,將高斯濾波和拉普拉斯邊緣檢測結合在一起,形成LoG(Laplacian of Gaussian, LoG)算法,也稱之為拉普拉斯高斯算法.LoG邊緣檢測器的基本特征是: 平滑濾波器是高斯濾波器.增強步驟采用二階導數(二維拉普拉斯函數).邊緣檢測判據是二階導數零交叉點并對應一階導數的較大峰值.使用線性內插方法在子像素分辨率水平上估計邊緣的位置.這種方法的特點是圖像首先與高斯濾波器進行卷積,這一步既平滑了圖像又降低了噪聲,孤立的噪聲點和較小的結構組織將被濾除.由于平滑會導致邊緣的延展,因此邊緣檢測器只考慮那些具有局部梯度最大值的點為邊緣點.這一點可以用二階導數的零交叉點來實現.拉普拉斯函數用作二維二階導數的近似,是因為它是一種無方向算子.為了避免檢測出非顯著邊緣,應選擇一階導數大于某一閾值的零交叉點作為邊緣點.
5、常用的特征提取方法。
6、常用的目標檢測方法。
7、常用的邊緣提取方法。
8、常用的插值方法。
9、常用的圖像分割算法。
10、寫一個圖像resize函數(放大和縮小)。
11、彩色圖像、灰度圖像、二值圖像和索引圖像區別?(索引圖像到底是啥?)
**彩色圖像:**每個像素通常是由紅(R)、綠(G)、藍(B)三個分量來表示的,分量介于(0,255)
**灰度圖像:**是每個像素只有一個采樣顏色的圖像,這類圖像通常顯示為從最暗黑色到最亮的白色的灰度,盡管理論上這個采樣可以任何顏色的不同深淺,有256個灰度級。
**二值圖像:**即一幅二值圖像的二維矩陣僅由0、1兩個值構成,“0”代表黑色,“1”代白色。
**索引圖像:**除了存放圖像的二維矩陣外,還包括一個稱之為顏色索引矩陣MAP的二維數組。MAP的大小由存放圖像的矩陣元素值域決定,如矩陣元素值域為[0,255],則MAP矩陣的大小為256Ⅹ3,用MAP=[RGB]表示。MAP中每一行的三個元素分別指定該行對應顏色的紅、綠、藍單色值,MAP中每一行對應圖像矩陣像素的一個灰度值,如某一像素的灰度值為64,則該像素就與MAP中的第64行建立了映射關系,該像素在屏幕上的實際顏色由第64行的[RGB]組合決定。
12、深度學習中目標檢測的常用方法,異同。
13、給定攝像頭范圍和圖像大小求分辨率。
14、如何檢測圖片中的汽車,并識別車型,如果有遮擋怎么辦?
15、數字識別的流程。
16、介紹神經網絡、SVM、AdaBoost、kNN…(每一個都可能深入問各種細節)
17、寫梯度下降代碼。
18、卷積神經網絡與神經網絡的區別。
19、卷積層的作用、pooling層的作用,全連接層的作用。
20、過擬合和欠擬合分別是什么,如何改善。
21、1x1卷積和的作用。
22、計算卷積神經網絡某一層參數量。
22、opencv遍歷像素的方式?
23、LBP原理?
24、HOG特征計算過程,還有介紹一個應用HOG特征的應用?
25、opencv里面mat有哪些構造函數?
26、如何將buffer類型轉化為mat類型?
27、opencv如何讀取png格式的圖片?
28、opencv如何讀取內存圖片?
29、opencv里面有哪些庫?
30、用過opencv里面哪些函數?
31、opencv里面為啥是bgr存儲圖片而不是人們常聽的rgb?
32、你說opencv里面的HOG+SVM效果很差?他就直接來了句為啥很差?差了就不改了?差了就要換其他方法?、
33、講講HOG特征?他在dpm里面怎么設計的,你改過嗎?HOG能檢測邊緣嗎?里面的核函數是啥?那hog檢測邊緣和canny有啥區別?
34、如何求一張圖片的均值?
35、如何寫程序將圖像放大縮小?
36、如何遍歷一遍求一張圖片的方差?
37、高斯噪聲和椒鹽噪聲
椒鹽噪聲就是在圖像上隨機出現黑色白色的像素。椒鹽噪聲是一種因為信號脈沖強度引起的噪聲,椒鹽噪聲用中值濾波比較好。
原因是:
1.椒鹽噪聲是幅值近似相等但是隨機的分布在不同位置,圖中既有污染的點,也有干凈的點。
2.圖中噪聲的均值不為零,所以不適合均值濾波。
3.圖中有干凈的點也有污染的點,所以中值濾波可以用干凈的點代替污染的點。
高斯噪聲是指它的概率密度函數服從高斯分布(即正態分布)的一類噪聲。高斯噪聲用均值濾波比較好。
原因是:
1.高斯噪聲的幅值近似正態分布,但是分布在每個點上。
2.因為所有的點都被污染所以不能中值濾波選不到正確的干凈的點。
3.因為高斯噪聲服從正態分布所以均值噪聲為零可以選用均值濾波處理噪聲。
總結
- 上一篇: 我的世界爆炸铁傀儡怎么做
- 下一篇: 我的世界龙蛋怎么孵化(18183我的世界