主頁 > 軟體設計 > 機器視覺——2019試卷

機器視覺——2019試卷

2020-12-10 18:12:35 軟體設計

名詞解釋題

  1. 數字影像

    數字影像是指由被稱作像素的小塊區域組成的二維矩陣,將物理影像行列劃分后,每個小塊區域稱為像素,

    每個像素包括兩個屬性:位置和亮度(或色彩)

  2. 影像的灰度直方圖

    灰度直方圖是關于灰度級分布的函式,是對影像中灰度級分布的統計,灰度直方圖將數字影像中的所有像素,按斬訓度值的大小,統計其出現的頻率,直方圖x軸表示0-255,256個像素值,y軸表示像素值的個數

  3. 歐式距離,街區距離,棋盤距離

    歐氏距離:平面或空間中兩點的直線距離

    二維:

    img

    N維:

    img

    街區距離:兩點在標準坐標系上的絕對軸距之和,(對于二維,街區距離就是兩點沿x方向的距離和沿y方向的距離的和)

    二維:

    img
    N維:

    img
    ? 棋盤距離:兩點間沿某標準軸的最大距離,(對于二維,棋盤距離就是兩點沿x方向的距離和沿y方向的距離中最大的那個)
    二維:
    img

    N維:
    img

  4. 資訊量與資訊熵

    資訊量是隨機事件X中某件事發生的概率的負對數,它是對資訊多少的度量,一句話中的事發生的概率越大,則這句話的資訊量越小(“明天太陽會升起”這句話的資訊量就很小),(體現在機器視覺中,它表示該符號所需的二進制位數,如序列aabbaccbaa,符號a出現的概率為0.5, 符號b出現的概率為0.3,符號c出現的概率為0.2,則a,b,c的資訊量為1,1.737,2.322,總資訊量:5* 1+3* 1.737+2* 2.322=14.855位,表示此字串所需的總二進制位數)(資訊量單位:bit,對應底數為2)

    h ( x ) = ? log ? 2 p ( x ) h(x) = - \log_2p( x) h(x)=?log2?p(x)

    資訊熵是隨機事件X的資訊量的期望

H ( X ) = E ( h ( x i ) ) = ? ∑ i = 1 n p ( x i ) ? log ? 2 p ( x i ) H(X) = E(h(xi)) =-\sum^n_{i=1} p(xi)*\log_2p( xi) H(X)=E(h(xi))=?i=1n?p(xi)?log2?p(xi)

簡答與證明題

  1. 證明:二維離散灰度影像的均值與其(傅里葉)頻譜的直流成分成線性關系

    對于一副長寬為N*N的影像f(x,y)其傅里葉變換為(exp是以e為底的指數函式,j是復數符號,j^2=-1):
    F ( u , v ) = 1 N ∑ x = 0 N ? 1 ∑ y = 0 N ? 1 f ( x , y ) e x p [ ? j 2 π ( u x + v y ) / N ] F(u,v)=\frac{1}{N}\sum_{x=0}^{N-1}\sum_{y=0}^{N-1}f(x,y)exp[-j2π(ux+vy)/N] F(u,v)=N1?x=0N?1?y=0N?1?f(x,y)exp[?j2π(ux+vy)/N]
    其頻譜的直流成分為F(0,0),得:
    F ( 0 , 0 ) = 1 N ∑ x = 0 N ? 1 ∑ y = 0 N ? 1 f ( x , y ) F(0,0)=\frac{1}{N}\sum_{x=0}^{N-1}\sum_{y=0}^{N-1}f(x,y) F(0,0)=N1?x=0N?1?y=0N?1?f(x,y)
    影像均值:
    M E A N = 1 N 2 ∑ x = 0 N ? 1 ∑ y = 0 N ? 1 f ( x , y ) MEAN=\frac{1}{N^2}\sum_{x=0}^{N-1}\sum_{y=0}^{N-1}f(x,y) MEAN=N21?x=0N?1?y=0N?1?f(x,y)
    則頻譜的直流成分是二維離散灰度影像的均值的N倍,故二維離散灰度影像的均值與其(傅里葉)頻譜的直流成分成線性關系

  2. 高斯拉普拉斯算子是經典的邊緣檢測算子,敘述其實作程序并推導高斯拉普拉斯算子的形式

    聽說不考??

  3. 給出分段線性變換的定義并討論線性變換的斜率引數取值對輸出影像對比度的影響

    定義:有時為了更好地調節圖象的對比度,需要在一些亮度段拉伸,而在另一些亮度段壓縮,這種變換稱為分段線性變換,

    線性點運算的灰度變換函式形式可以采用線性方程描述,即:s=ar+b,則a為斜率,b為截距

    對a,b做以下討論:

    ① 當a>1時,輸出灰度擴展,影像對比度增大,

    ②當a=1時,輸出灰度既不擴展也不壓縮,影像對比度不變,

    ③當0<a<1時,輸出灰度壓縮,影像對比度減小,

    ④當a<0時,較亮的區域變暗,較暗的區域變亮,若a=-1影像發生反色變換,

  4. 梯度是灰度影像邊緣檢測的重要工具,將梯度推廣到向量梯度并構造彩色影像邊緣檢測方法,

    聽說也不考???

計算題

  1. 給出Prewitt算子對應模板的公式,對如下圖所示資料計算梯度向量的值(忽略最外側的資料),并近似計算梯度的模,

在這里插入圖片描述
?px =在這里插入圖片描述

py =在這里插入圖片描述
計算px,py梯度:如下圖所示,px如滑動視窗般在矩陣上移動,每移動一次計算出一個數值,實際上計算出的梯度是針對px中心點的梯度,所以原矩陣最外層一圈的數值的梯度無法計算,故px計算過后得到的矩陣會比原矩陣小一圈,py計算程序與之相同,

在這里插入圖片描述
這里只說px第一個點的計算程序:
? 1 ? ( 218 + 217 + 211 ) + 1 ? ( 207 + 199 + 189 ) = ? 51 -1* (218+217+211)+1*(207+199+189) = -51 ?1?218+217+211+1?207+199+189=?51

得到tx,ty矩陣(左三列tx,右三列ty):
在這里插入圖片描述

梯度的模(題目中要求近似,故用絕對值相加,否則用平方加和再開方):
M = ∣ t x ∣ + ∣ t y ∣ M = |tx| + |ty| M=tx+ty
得矩陣:
在這里插入圖片描述

  1. 給出歐拉數的計算公式,并計算2018四個字母的歐拉數
    (對于此題,我們暫不考慮聯通型別)
    對于二維影像,歐拉數E = C - H,其中C為連接體數,H為孔洞數
    對于數字2:連接體數為1,孔洞數為0,歐拉數為1
    對于數字0:連接體數為1,孔洞數為1,歐拉數為0
    對于數字1:連接體數為1,孔洞數為0,歐拉數為1
    對于數字8:連接體數為1,孔洞數為2,歐拉數為-1
    故2018四個字母的歐拉數分別為1,0,1,-1
    對于連接體數,可以參考小寫字母“j”,連接體分別為上方的點和下方的勾,故連接體數為2,孔洞為零,
    對于孔洞數,可以參考大寫字母“B”,連接體只有一個就是B本身,但孔洞數為2,

  2. 對于如下圖所示區域邊界的4向鏈碼,歸一化鏈碼和差分鏈碼(以A為起點),

在這里插入圖片描述
在這里插入圖片描述

? 四向鏈碼:0010 0033 3232 2212 2101

? 歸一化鏈碼: 對于閉合的邊界,無論我們平移它,得到的鏈碼都是一樣的,但是如果選取的起點不同,那么得 到的鏈碼也會有所不同,這時候我們就要將它歸一化,原理就是把我們得到的鏈碼看成是一個自然數,將鏈碼 回圈寫下去,選取構成的自然數數值最小的那組鏈碼,這個就是歸一化鏈碼(選取長度與原鏈碼相同),上圖的鏈碼循換 0010 0033 3232 2212 2101 0010 0033 3232 2212 2101 0010 0033 3232 2212 2101 歸一化鏈碼為0 0033 3232 2212 2101 001(這個自然數以三個0開頭,最小)

? 差分鏈碼:歸一化鏈碼解決了因為起點坐標不同而編碼不同的問題,但仍有不足,如果我們將邊界旋轉,那么它的歸一化鏈碼也會發生變化,此時我們用差分鏈碼來表示,差分鏈碼的計算方法如圖:

在這里插入圖片描述

  1. 給出從RGB彩色模型到HSI彩色模型的轉換公式,并計算RGB顏色空間中(255,240,0)在HSI顏色模型中的取值(如需要,可以用開方,反余弦等函式來表示)

RGB轉HSI公式:
I = 1 3 ( R + G + B ) I = \frac{1}{3}(R+G+B) I=31?(R+G+B)

S = 1 ? 3 ( R + G + B ) [ m i n ( R , G , B ) ] S=1-\frac{3}{(R+G+B)}[min(R,G,B)] S=1?(R+G+B)3?[min(R,G,B)]

H = arccos ? [ ( R ? G ) + ( R ? B ) ] / 2 [ ( R ? G ) 2 + ( R ? B ) 2 + ( G ? B ) 2 ] 0.5 H=\arccos{\frac{[(R-G)+(R-B)]/2}{[(R-G)^2+(R-B)^2+(G-B)^2]^{0.5}}} H=arccos[(R?G)2+(R?B)2+(G?B)2]0.5[(R?G)+(R?B)]/2?
將(255,240,0)歸一化:
r = R / ( R + G + B ) ; g = G / ( R + G + B ) ; b = B / ( R + G + B ) r = R / (R+G+B);g = G / (R+G+B);b = B / (R+G+B) r=R/(R+G+B)g=G/(R+G+B)b=B/(R+G+B)

得(0.515,0.485,0)
帶入得HSI取值為(0.333,1,arccos(0.273/√1.889))

程式設計題

import cv2
import numpy as np

img = cv2.imread('img.png') # 以BGR讀入圖片 

cv2.imshow('src',img)
img = img.astype('float64')

kenelx = np.array([[-1,0,1],[-1,0,1],[-1,0,1]])  # 垂直算子
kenely = np.array([[-1,-1,-1],[0,0,0],[1,1,1]])  # 水平算子

prewittx = cv2.filter2D(img,-1,kenelx)  # 二維卷積,計算垂直梯度
prewitty = cv2.filter2D(img,-1,kenely)  # 二維卷積,計算水平梯度
prewittimg = np.sqrt(np.square(prewittx) + np.square(prewitty))  # 計算梯度的模,絕對值加和是梯度模的近似

# 計算模后img的像素值分布不再是0-255,而可能超過了255,為了回到0-255,需要歸一化
max, min = np.max(prewittimg), np.min(prewittimg)
newimg = (prewittimg-min)/(max-min)*255
newimg = 255 - newimg  # 反色操作
newimg = newimg.astype('uint8')

cv2.imshow('new_img',newimg)
cv2.waitKey(0)

在這里插入圖片描述
在這里插入圖片描述

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/232606.html

標籤:其他

上一篇:2020-12-09

下一篇:重磅首發!阿里昨晚最新爆出的“移動開發性能優化筆記”,GitHub已標星8K,看完我愛了!

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more