《學習OpenCV》練習題第三章第一題

2022-08-09 00:54:19 字數 2905 閱讀 2232

1 #include 2 #include 3 #include 4

5#pragma comment (lib,"opencv_calib3d231d.lib")

6#pragma comment (lib,"opencv_contrib231d.lib")

7#pragma comment (lib,"opencv_core231d.lib")

8#pragma comment (lib,"opencv_features2d231d.lib")

9#pragma comment (lib,"opencv_flann231d.lib")

10#pragma comment (lib,"opencv_gpu231d.lib")

11#pragma comment (lib,"opencv_haartraining_engined.lib")

12#pragma comment (lib,"opencv_highgui231d.lib")

13#pragma comment (lib,"opencv_imgproc231d.lib")

14#pragma comment (lib,"opencv_legacy231d.lib")

15#pragma comment (lib,"opencv_ml231d.lib")

16#pragma comment (lib,"opencv_objdetect231d.lib")

17#pragma comment (lib,"opencv_ts231d.lib")

18#pragma comment (lib,"opencv_video231d.lib")

1920

#define rand_int_max 256

2122

/*23

* 《學習opencv》第三章第一題

2425

*/26

intmain()

2750

/*------------------------------------

*/51

//將乙個浮點型的cvpoint2d32f轉換成乙個整數型的cvpoint

52 cvpoint2d32f point_2d32f = cvpoint2d32f(2.5, 3.5

);53 cvpoint point =cvpointfrom32f(point_2d32f);

5455 printf("

---------------------------------------\n");

56 printf("

cvpoint2d32f: %f\t%f\n

", point_2d32f.x, point_2d32f.y);

57 printf("

convert to cvpoint: %d\t%d\n

", point.x, point.y);

58//

將乙個整數型的cvpoint轉換為浮點型的cvpoint2d32f

59 cvpoint2d32f point_1 =cvpointto32f(point);

60 printf("

convert to cvpoint2d32f: %f\t%f\n

", point_1.x, point_1.y);

6162

return0;

63 }

執行結果:

a. cxtypes.h在opencv2.2.1中已經不存在了,相應的檔案為「opencv2.2安裝資料夾路徑/opencv/build/include/opencv2/core/types_c.h」

--------------

絕對值巨集定義

/* absolute value without jumps */

#ifndef __cplusplus

#define  cv_iabs(a)     (((a) ^ ((a) < 0 ? -1 : 0)) - ((a) < 0 ? -1 : 0))

#else

#define  cv_iabs(a)     abs(a)

#endif

---------------

函式 cvround, cvfloor, cvceil 用一種捨入方法將輸入浮點數轉換成整數。 cvround 返回和引數最接近的整數值。 cvfloor 返回不大於引數的最大整數值。cvceil 返回不小於引數的最小整數值。在某些體系結構中該函式 工作起來比標準 c 操作起來還要快。

---------------

1. 一般計算機的隨機數都是偽隨機數,以乙個真隨機數(種子)作為初始條件,然後用一定的演算法迭代產生隨機數序列。

2. 隨機數的「種子」就是產生隨機數的第一次使用值,機制是通過乙個比較複雜函式,將這個種子的值對映到隨機數空間的某乙個點上,並且產生的隨機數均勻地(或者符合正態分佈等)散步在空間中,以後產生的隨機數都與前乙個隨機數有關。

3. rng : random number generation   隨機數生成

相關函式

1. cvrng cvrng(int64 seed);

使用64位長整形種子,初始化隨機數生成器狀態。

cvgettickcount();

返回64位長整形的時間資料,在opencv中是為cvrng設定的專用種子。

2. unsigned cvrandint(cvrng* rng);

返回均勻分布的隨機32位無符號整型值,並更新rng的狀態 ; 使用模操作可以獲得確定邊界的整形數值。

3. double cvrandreal(cvrng* rng);

返回均勻分布的隨即浮點數,範圍在0-1(不含1),並更新rng的狀態。

第三章練習題

3.1重量計算。月球上物體的體重是在地球上的16.5 假如你在地球上每年增長0.5kg,編寫程式輸出未來10年你在地球和月球上的體重狀況。weight eval input 請輸入您的體重 kg for i in range 1 11 weight earth weight 0.5 i weight...

第三章課後練習題

第一題 根據成績輸出評分 s float input 請輸入成績 if s 90 print a elif 89 s 80 print b elif 79 s 70 print c elif 69 s 60 print d elif 60 s 0 print e else print 您輸入有誤!第...

c prime 第三章 向量練習題答案

c prime 第三章 字串 向量和陣列練習題答案 vector a vectorint ivec ivec 儲存vector物件 b vector svec ivec 錯誤,ivec的物件是int svec的物件是string。c vector svec 10 null 構造了10個 null 字...