2. Kinh nghiệ m:
4.1 Giao diện người dùng
cvConvertImage
Chuyển đổi một hình ảnh khác với một lật dọc tùy chọn.
void cvConvertImage( const CvArr* src, CvArr* dst, int flags=0 ); src Nguồn hình ảnh.
dst Điểm đến hình ảnh. Phải là một kênh hoặc 3-kênh 8-bit hình ảnh. flags Các cờ hoạt động:
CV_CVTIMG_FLIP_lật các hình ảnh theo chiều dọc
CV_CVTIMG_SWAP_RB Hoán đổi các kênh màu đỏ và màu xanh. Trong hình ảnh màu sắc OpenCV BGR kênh tự, tuy nhiên trên một số hệ thống trật tự cần phải được đảo ngược trước khi hiển thị hình ảnh (ShowImage làm điều này tựđộng).
CvConvertImage Hàm chuyển đổi một hình ảnh khác và làm bật kết quả theo chiều dọc nếu mong muốn. Hàm được sử dụng bởi ShowImage.
cvCreateTrackbar
Tạo ra một trackbar và gắn nó vào cửa sổ chỉđịnh int cvCreateTrackbar(
const char* trackbarName, const char* windowName, int* value,
int count,
CvTrackbarCallback onChange ); trackbarName Tên của trackbar được tạo ra.
value con trỏ đến một biến số nguyên, có giá trị sẽ phản ánh vị trí của thanh trượt. Khi sáng tạo, vị trí thanh trượt được xác định bởi biến này.
count vị trí tối đa của thanh trượt. Tối thiểu vị trí luôn luôn là 0.
onChange Pointer Hàm để được gọi là mỗi khi thay đổi vị trí thanh trượt. Hàm này nên được prototyped như void Foo(int); có thểđược NULL nếu gọi lại là không cần thiết.
CvCreateTrackbar Hàm tạo ra một (hay còn gọi là thanh trượt hoặc phạm vi kiểm soát) trackbar với
quy định tên và phạm vi, chỉđịnh một biến được syncronized với trackbar vị trí và Speci- doanh nghiệp FDI một Hàm gọi lại được gọi là thay đổi vị trí trackbar. Trackbar tạo ra được hiển thị
trên đỉnh của cửa sổ.
CV_EXTERN_C_FUNCPTR( void (*CvTrackbarCallback)(int pos) ); cvDestroyAllWindows Phá hủy tất cả các cửa sổ HighGUI. void cvDestroyAllWindows(void); CvDestroyAllWindows Hàm phá hủy tất cả các HighGUI cửa sổ mở. cvDestroyWindow Phá hủy một cửa sổ.
void cvDestroyWindow( const char* name ); name Tên của cửa sổ bị phá hủy.
CvDestroyWindow Hàm phá hủy các cửa sổ với tên gọi. cvGetTrackbarPos
Trả về vị trí trackbar. int cvGetTrackbarPos(
const char* trackbarName, const char* windowName ); trackbarName Tên của trackbar.
windowName Tên của cửa sổđó là cha mẹ của trackbar.
CvGetTrackbarPos Hàm trả về vị trí hiện tại của các trackbar quy định. cvGetWindowHandle
Được xử lý của cửa sổ theo tên của nó.
void* cvGetWindowHandle( const char* name ); name tên của cửa sổ.
Các cvGetWindowHandle Hàm trả về cửa sổ xử lý bản địa (HWND trong trường hợp Win32 và GtkWidget trong trường hợp của GTK+).
cvGetWindowName
const char* cvGetWindowName( void* windowHandle ); windowHandle Handle của cửa sổ.
CvGetWindowName Hàm trả về tên của cửa sổ xử lý nguồn gốc của nó (HWND trong trường hợp của Win32 và GtkWidget trong trường hợp của GTK +).
cvInitSystem Khởi tạo HighGUI.
int cvInitSystem( int argc, char** argv ); argc Số của các đối số dòng lệnh
argv mảng của các đối số dòng lệnh
CvInitSystem Hàm khởi tạo HighGUI. Nếu nó không được gọi một cách rõ ràng bởi người sử
dụng trước khi cửa sổ đầu tiên được tạo ra, nó được gọi là ngầm sau đó với argc = 0, argv = NULL. Dưới Win32 không có cần phải gọi nó một cách rõ ràng. Theo X Window các đối số
có thểđược sử dụng để tùy chỉnh một nhìn của HighGUI cửa sổ và kiểm soát. cvMoveWindow
Thiết lập vị trí của cửa sổ.
void cvMoveWindow( const char* name, int x, int y ); name tên của cửa sổđể được di chuyển.
x x phối hợp của các góc trên cùng, bên trái y y phối hợp của các góc trên cùng, bên trái CvMoveWindow Hàm thay đổi vị trí của cửa sổ. cvNamedWindow
Tạo một cửa sổ.
int cvNamedWindow( const char* name, int flags );
name tên của cửa sổ trong cửa sổ chú thích có thểđược sử dụng như một định danh cửa sổ. flags cờ của cửa sổ. Hiện nay, lá cờ duy nhất được hỗ trợ là CV_WINDOW_AUTOSIZE. Nếu
đây là thiết lập, kích thước cửa sổ được tự động điều chỉnh để phù hợp với hình ảnh hiển thị
(xem ShowImage), và người dùng không thể thay đổi kích thước cửa sổ bằng tay.
CvNamedWindow Hàm tạo ra một cửa sổ mà có thểđược sử dụng như một trình giữ chỗ cho lứa tuổi và trackbars. Cửa sổ tạo ra được gọi bằng tên của họ.
Nếu một cửa sổ với cùng tên đã tồn tại, Hàm không có gì. cvResizeWindow
Thiết lập kích thước cửa sổ.
void cvResizeWindow( const char* name, int width, int height ); name tên của cửa sổđể thay đổi kích cỡ.
width chiều rộng height chiều cao
CvResizeWindow Hàm thay đổi kích thước của cửa sổ. cvSetMouseCallback
Gán gọi lại cho các sự kiện chuột.
void cvSetMouseCallback( const char* windowName, CvMouseCallback onMouse, void* param=NULL );
windowName Tên của cửa sổ.
onMouse con trỏđến các Hàm để được gọi là mỗi khi một sự kiện chuột xảy ra trong các quy
định cửa sổ. Hàm này nên được prototyped như void Foo(int event, int x, int y, int flags, void* param); nơi event là một trong CV_EVENT_*, x và y là đồng phối của con trỏ chuột trong hệ
tọa độ hình ảnh (không phải cửa sổ tọa độ), flags là một sự kết hợp của CV_EVENT_FLAG_*, và param là người dùng định nghĩa tham số được truyền cho các cvSetMouseCallback Hàm cuộc gọi.
param người sử dụng xác định tham sốđược thông qua với Hàm gọi lại.
CvSetMouseCallback Hàm thiết lập các Hàm gọi lại cho các sự kiện chuột xảy ra trong cửa sổ
chỉđịnh.
Tham số sự kiện là một trong những:
CV_EVENT_MOUSEMOVE chuột phong trào CV_EVENT_LBUTTONDOWN lại nút xuống CV_EVENT_RBUTTONDOWN phải xuống CV_EVENT_MBUTTONDOWN Trung nút xuống CV_EVENT_LBUTTONUP lại nút lên
CV_EVENT_RBUTTONUP phải nút lên CV_EVENT_MBUTTONUP Trung nút lên
CV_EVENT_LBUTTONDBLCLK Còn lại bấm vào nút tăng gấp đôi CV_EVENT_RBUTTONDBLCLK nút phải nhấn đúp chuột
CV_EVENT_MBUTTONDBLCLK Trung nút nhấp đúp chuột vào Các tham số flags là một sự kết hợp của: CV_EVENT_FLAG_LBUTTON trái nút nhấn CV_EVENT_FLAG_RBUTTON phải nút nhấn CV_EVENT_FLAG_MBUTTON Trung nút nhấn CV_EVENT_FLAG_CTRLKEY điều khiển phím nhấn CV_EVENT_FLAG_SHIFTKEY phím Shift ép
CV_EVENT_FLAG_ALTKEY Alt phím được nhấn cvSetTrackbarPos
Thiết lập vị trí trackbar. void cvSetTrackbarPos(
const char* trackbarName, const char* windowName, int pos );
trackbarName Tên của trackbar.
windowName Tên của cửa sổđó là mẹ của trackbar. pos vị trí mới.
CvSetTrackbarPos Hàm thiết lập vị trí của các trackbar quy định. cvShowImage
Hiển thị hình ảnh trong cửa sổ chỉđịnh
void cvShowImage( const char* name, const CvArr* image ); name tên của cửa sổ.
image hình ảnh được hiển thị.
CvShowImage Hàm hiển thị hình ảnh trong cửa sổ chỉ định. Nếu cửa sổ được tạo ra với cờ
CV WINDOW AUTOSIZE sau đó hình ảnh được hiển thị với kích thước ban đầu của nó, khôn ngoan là hình ảnh thu nhỏđể phù hợp với cửa sổ. Hàm có thể quy mô hình ảnh, tùy thuộc vào của nó sâu:
Nếu hình ảnh 8-bit không dấu, nó được hiển thị như là.
Nếu hình ảnh là 16-bit số nguyên không dấu 32-bit, các điểm ảnh được chia cho 256.
Đó là, phạm vi giá trị [0255 * 256] được ánh xạ tới [0255].
Nếu hình ảnh là 32-bit floating-point, các giá trị pixel được nhân với 255. Đó là, giá trị
phạm vi [0,1] là ánh xạ tới [0255]. cvWaitKey
Chờ đợi cho một phím được nhấn. int cvWaitKey( int delay=0 ); delay dừng trong mili giây.
CvWaitKey Hàm chờ đợi cho sự kiện quan trọng vô hạn (delay<= 0) hoặc delay phần nghìn giây. Trả về mã của phím được nhấn hoặc -1 nếu không có phím nào được nhấn trước khi thời gian quy định trôi qua.
Lưu ý: Hàm này là phương pháp duy nhất trong HighGUI có thể lấy và xử lý các sự kiện, vì vậy nó cần được gọi là định kỳ cho xử lý sự kiện bình thường, trừ khi HighGUI được sử dụng trong một số môi trường chăm sóc xử lý sự kiện.