Giao diện người dùng

Một phần của tài liệu biên dịch tài liệu hướng dẫn sử dụng bộ thư viện nguồn mở opencv (Trang 153)

2. Kinh nghiệ m:

4.1Giao 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 +). (adsbygoogle = window.adsbygoogle || []).push({});

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: (adsbygoogle = window.adsbygoogle || []).push({});

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.

Một phần của tài liệu biên dịch tài liệu hướng dẫn sử dụng bộ thư viện nguồn mở opencv (Trang 153)