關於opencv的小知識點總結

2021-10-25 09:29:51 字數 2905 閱讀 8991

對於opencv2.4.3 使用vs2010建立工程,然後使用vs2017開啟,開啟後並不公升級程式,這樣依然使用的是vs2010的sdk,只不過是使用vs2017這個工具開發。

直接使用vs2017 並配合opencv2.4.3時 會有很多問題,最好不要這樣操作。

)用上面讀取時發現 mat為空,使用絕對位置,而且帶兩個雙斜槓才可以。解決辦法:

cv::mat mat1 = cv::

imread

("e://wokspace//excercise//testopencv_mfc//debug");

if(mat1.

empty()

)

參考:

格式有些是自帶壓縮格式的,bmp沒有任何壓縮,jpg是自帶壓縮

如圖:左圖為 相機介面顯示 右圖為相機儲存資料顯示

方法一:新增origin =1

m_iplimage =

cvcreateimageheader

(cvsize

(sframehead.iwidth, sframehead.iheight)

, ipl_depth_8u, sframehead.uimediatype == camera_media_type_mono8 ?1:

3); m_iplimage-

>origin =1;

//預設為1,2020.10.29 如果沒有此句,相機介面顯示的影象 與 儲存的影象是進行翻轉過的

cvsetdata

(m_iplimage, m_pframebuffer, sframehead.iwidth*

(sframehead.uimediatype == camera_media_type_mono8 ?1:

3));

新增一句 m_iplimage->origin = 1;解決問題方法二:cvcreateimageheader 建立的origin 預設為0,而從攝像頭讀取的資料 origin為1,資料掃瞄是從下往上,左下為原始。 為了配合建立預設為0的東西,需要相機進行水平映象就可以了,這樣就實現了方向從上到下。

只有8位單通道或者三通道,如果深度、通道、格式不對的話,要使用cvcvtscale 和 cvcvtcolor來進行轉換。

iplimage *pimage = ns_cv_helper::

cvcreateimage

(cvgetsize

(plimage)

, ipl_depth_8u,3)

; ns_cv_helper::

cvcvtcolor

(plimage, pimage, cv_gray2rgb)

;

rotatedrect ellipse_rect = fitellipse(contours[i]); 進行擬合時,程式崩潰

解析: 橢圓擬合最低好像五個點,所以對五個點一下的是不能進行擬合的

findcontours_new

point(0

,0))

;int contours_size = contours.

size()

;for

(int i =

0; i < contours_size; i++

) rotatedrect ellipse_rect =

fitellipse

(contours[i]

);

。。。。。。。。

opencv 應用fitellipse函式一種異常問題分析

findcontours函式在vs2010中執行沒問題,但在vs2017中執行有問題,需要修改該函式。

fitellipse函式在擬合 橢圓時,**必須有5個點以上才可以,**否則程式崩潰。

if

(contours.

at(i)

.size()

<=5)

cv::

circle

(bin_src, final_sort_ellipse_list[3]

,10, cv::

scalar

(255,0

,0),

10);

使用邁德威視的千兆網口相機,其中影象傳輸 所佔網路100% 是因為影象太大了,大小為2448*2048 ,cpu佔用率很高,可以嘗試將影象大小降低下來,測試一下。

//交集 兩個矩形的交集

rect rt4 = rt1 | rt2;

//並集 兩個矩形的並集

scalar(255, 0 , 0) 表示 bgr alpha

opencv 1.0中影象儲存為iplimage 這個使用時需要開闢 和釋放指標,而oepnc2.0以上的版本進行了優化,使用mat型別,就不用自己進行釋放指標了,簡化了操作。

OpenCV知識點總結

mat 是乙個類,由兩個資料部分組成 矩陣頭 包含矩陣尺寸,儲存方法,儲存位址等資訊 和乙個指向儲存所有畫素值的矩陣 根據所選儲存方法的不同矩陣可以是不同的維數 的指標。矩陣頭的尺寸是常數值,但矩陣本身的尺寸會依影象的不同而不同,通常比矩陣頭的尺寸大數個數量級。因此,當在程式中傳遞影象並建立拷貝時,...

小知識點總結

1.已知id取其他欄位的判斷顯示 2.呼叫3.1.8以上支援jquery和 4.乙個jsp頁面盡量只引用乙個jquery版本檔案,盡量也要是1.8以上的版本 function sub input,p1,p1 5 jquery1.8之前相容ie7,ie6 不要嘗試同時引用bootstrap.js,bo...

GDI 小知識點總結

1 載入 1 普通變數方式 2 指標方式 2 建立 graphics 繪圖物件 graphics類的建構函式有如下4種 graphics image image 一般在 bitmap點陣圖上進行建立,然後將影象繪製在此位圖中 graphics hdc hdc 用於在當前視窗中繪圖 graphics ...