Danh mục

Giáo trình xử lý ảnh y tế Tập 3 P2

Số trang: 9      Loại file: pdf      Dung lượng: 206.42 KB      Lượt xem: 8      Lượt tải: 0    
Hoai.2512

Phí tải xuống: 4,000 VND Tải xuống file đầy đủ (9 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Thu nhập dữ liệu cho các lớp màu sắc Chương trình cho ở dưới đây chỉ làm việc trên vỉ mạch ATI PIB đã được đề cập đến trong chương 11. Bạn có thể sửa đổi làm cho nó tương thích với các phần...
Nội dung trích xuất từ tài liệu:
Giáo trình xử lý ảnh y tế Tập 3 P2 printf( w[0]=%f W[1]=%f,w[0], w[1]); exit(1); } if(kbhit()!=0) { gotoxy(1,7); if(getch()==27) {printf( w[0]=%f w[1]=%f,w[0],w[1]); exit(1); } } }} Trên đĩa đi kèm đã có sẵn file dữ liệu có tên là TINT.DAT rút ra từ sơ đồmàu. Dùng  = 0.8 và  = 0.2, phải mất gần 200 lần lặp để làm cho sai số giảmtừ 28 xuống 9,55. Sau 15,000 phép lặp sai số đã giảm xuống nhỏ hơn 1 và tiếptục giảm xuống. Thay  = 0.2 và  = 0.8 sự hội tụ sẽ chậm hơn. Trước khi chúngta nghiên cứu một phương pháp tốt hơn cho tính toán giá trị cảm nhận, chúng tôisẽ cung cấp cho bạn công cụ thu nhập dữ liệu.12.4 Thu nhập dữ liệu cho các lớp màu sắc Chương trình cho ở dưới đây chỉ làm việc trên vỉ mạch ATI PIB đã được đềcập đến trong chương 11. Bạn có thể sửa đổi làm cho nó tương thích với các phầncứng thông dụng; các sửa đổi này không có gì là khó khăn lắm. Chương trình nàycó sử dụng chuột. Nếu bạn có vỉ mạch ATI PIB , đầu tiên bạn cần nạp một ảnhtrên màn hình PIB. Chạy chương trình và con trỏ sẽ xuất hiện trên màn hình.Dùng chuột, thay thế con trỏ trên sắc màu mà bạn muốn tách ra (một perceptronđơn thì sẽ không thể tách ra đ ược một sắc màu; chúng ta sẽ đề cập đến việc táchcác sắc màu ở phần cuối chương này). Lấy rất nhiều các giá trị từ một loạt cácđiểm trên miền đã lựa chọn sắc màu bằng cách nhắp đơn nút trái chuột. Chú ý làmàn hình VGA sẽ hiện lên biểu đồ màu và cường độ màu tại nơi mà bạn trỏ tới.Nơi mà bạn kích vào sẽ đánh dấu bằng một dấu thập màu đỏ trên biểu đồ màu vẽtrên màn hình VGA (xem hình 12.6) và lưu nó vào một mảng. Nếu bạn muốn dờidấu thập đi chỗ khác trong trường hợp các điểm nhập vào lớn hơn một, thì nhắpnút trái chuột nhiều lần. Hành động này sẽ làm dời đi rất nhiều điểm tuỳ theo bạnchọn (bắt đầu từ điểm cuối cùng) từ biểu đồ màu và lưu trong mảng. Khi bạn ấnESC, con trỏ sẽ xuất hiện trên màn hình VGA. Đưa con trỏ vào sơ đồ màu vẽ trên 264màn hình VGA, bằng cách kích lại nút trái chuột ta sẽ thu được dữ liệu cho mộtlớp màu khác. Nhắp nút trái chuột, như trước đây, sẽ làm dịch chuyển đến đầuvào cuối cùng. Chú ý rằng một dấu thập màu xanh sẽ xuất hiện bất cứ khi nào bạnnhắp trái chuột, và sẽ bị dời đi khi bạn nhắp phải chuột. Nhấn ESC để thoát. Bạnsẽ được hỏi tên file cho chứa dữ liệu. Dữ liệu được lưu trữ bao gồm 3 số: số đầutiên biểu diễn cho x, số thứ hai biểu diễn cho y, và số cuối cùng xác định lớp. Giátrị lớp này được gán bằng 1 trong trường hợp lựa chọn sắc màu và 0 trong cáctrường hợp còn lại. Dữ liệu được cho dưới dạng %f%f%d. Kết quả ta thu đượclà một cung màu trên biểu đồ màu được tách ra từ phần còn lại của phổ màu. Hình 12.6 Thu thập dữ liệu cho phân lớp màu sắc. Chương trình 12.2 “COLORRDM.C”. Chương trình thu thập dữ liệu;Được dùng với PIB./************************************* Developed by M.A.Sid_Ahmed. ** ver. 1.0, 1992. ** @ 1994*************************************//* Program to read color from PIB screen. It alsoclassifiescolor according to colors in Chromaticity diagram.Usemouse left button to enter x.y coordinates and right 265button to erase as many previous entries as you wish.The cursor will initially point to the PIB screen,use the mouse to enter the tone you wish to classifyas one color set. Press ESC to exit from PIB screen.The cursor mouse will appear on VGA screen. Use mouseto point at points in the Chromaticity diagram that donot belong to the set of colors you wish to classify.Use left button to enter a point, right button toeraseprevious entry or entries. Press ESC again to exitandstore data. */#include #include #include #include #include #include #define white (circvoid draw_circle(int,int,int,int);void set_pixel(int,int,int);void mouse_vrange(int,int);void mouse_hrange(int,int);void set_mouse(int,int);void CIE(void);void draw_cross(float,float,int);int kount=-1;float xold[200],yold[200];int set[200];void main() { int mode,page,row,col,button,ind,i; float x,y; char ch,file_name[14]; FILE *fptr; clrscr(); InitPIB(); SetScreen(0); SetInDispMode(); get_video_mode(&mode,&page); set_video_mode(0x12); CIE(); for(i=0;i for(i=0;iprintf(Do you wish to save data? (y or n)-->);while(((ch=getch())!=y)&&(ch!=n)); switch(ch) { case y: printf( Enter file name -->); scanf(%s,file_name); ind=access(file_name,0);while(!ind) { printf(File exists. Wish to overwrite? (y or n)-->); while(((ch=getch())!=y)&&(ch!=n)); switch(ch) { case y: ind=1; break; case n: gotoxy(1,6); printf( Enter file name --> ); ...

Tài liệu được xem nhiều:

Gợi ý tài liệu liên quan: