openCV基礎函式imread第二個引數

2021-08-02 11:18:09 字數 2070 閱讀 7293

imread是學opencv 的第乙個函式了,一直都用預設的方式也就是cv::imread("影象名");

但是在執行乙個簡單的影象銳化演算法的時候輸出影象總是輸入影象的1/3,請教師兄後才知道是影象讀入的問題。

1

2 3

4 5

6 7

8 9

10 11

12 13

14 15

16 17

18 19

20 21

22 23

24 25

26 27

28 29

30 31

32 33

34 35

36 37

38 39

40 41

42 43

44 45

46 47

#include 

#include

#include

using

namespace

std;

using

namespacecv;

void

sharpen

(const

mat&

image

,mat

&result

)

}result

.row(0

).setto

(scalar(0

)); result

.row

(result

.rows-1

).setto

(scalar(0

)); result

.col(0

).setto

(scalar(0

)); result

.col

(result

.cols-1

).setto

(scalar(0

)); }

intmain

()

imshow

("original"

,image

); mat

result

; sharpen

(image

,result

); imshow

("result"

,result

); waitkey(0

);

clock_t

end_time

=clock

(); cout

<<

"running time: "

<<

static_cast

<

double

>

(end_time

-start_time)/

clocks_per_sec

<<

"s"<<

endl

; system

("pause"

); return0;

}

來自code的**片

opencvcookbook2-6.cpp

在main()裡的imread,先前沒有加第二個引數cv_load_image_unchanged,但是函式預設以rgb三波段形式讀入影象,可是我給的是乙個單波段的tif影象,因此,影象的處理效果就只有源影象的1/3了。

在reference裡imread的各個引數如下:

c++:

mat 

imread

(const string& 

filename

, int 

flags

=1 )

由於接觸時間短,還總結不出有什麼精闢的結論,但是以後似乎用cv_load_image_unchanged就好了。

opencv 星空 opencv 數學函式

1.round floor ceil 捨入轉為整數 int cvround double value int cvfloor double value int cvceil double value 2.sqrt 平方根 invsqrt 平方根的倒數 cbrt 輸入值的立方根 float cvsqr...

opencv 入門基礎

這是深圳大學於老師的文件裡的程式,就是為了鞏固基礎,加深對影象的理解。using namespace std using namespace cv int main for int i 0 i colorimage.rows i imshow 灰度圖 grayimage imshow 彩色圖 col...

OpenCV學習關於減色函式的基礎分析

彩色影象是由三個通道畫素組成,通道排序分別是bgr,每個數字都是八位無符號字元即0 255。為了簡化分析,會需要減少影象中顏色的數量。當div 8是,原影象的畫素從256x256x256變為32x32x32 256 div x 256 div x 256 div 函式簽名 void colorred...