1. Trang chủ
  2. » Luận Văn - Báo Cáo

BÁO CÁO BÀI TẬP MÔN XỬ LÝ ẢNH

11 3,9K 12

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 11
Dung lượng 757,52 KB

Nội dung

Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ. Nó là một ngành khoa học mới mẻ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nó rất nhanh, kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên dụng riêng cho nó. Xử lý ảnh có nhiều ứng dụng trong thực tiễn như: hệ thông tin địa lý, quân sự, y học.

Xử Lý Ảnh HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA CÔNG NGHỆ THÔNG TIN - - - - -o0o- - - - - BÁO CÁO BÀI TẬP MÔN XỬ LÝ ẢNH GVHD : Ths Trịnh Thế Vinh Lớp : L11CQCN012-B Nhóm 4 : Nguyễn Văn Lợi Ngô Văn Cường Hoàng Minh Trang Nguyễn Quốc Vinh L11CQCN012-B Nhóm 5 Trang 1 Xử Lý Ảnh Đà Nẵng, 11/2012 L11CQCN012-B Nhóm 5 Trang 2 Xử Lý Ảnh Đề tài 04: Tìm hiểu các phương pháp thay đổi độ tương phản, tạo ảnh âm bản và phân ngưỡng ảnh. Thử nghiệm với ảnh 24 bit. 1 Phát biểu bài toán Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ. Nó là một ngành khoa học mới mẻ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nó rất nhanh, kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên dụng riêng cho nó. Xử lý ảnh có nhiều ứng dụng trong thực tiễn như: hệ thông tin địa lý, quân sự, y học. Cụ thể, xử lý ảnh số có rất nhiều ứng dụng như: − Làm nổi các ảnh trong y học. − Khôi phục lại ảnh do tác động của khí quyển trong thiên văn học. − Chuyển tải, nén ảnh khi truyền đi xa hoặc lưu trữ. Trong lĩnh vực y tế, xử lý ảnh đang được ứng dụng một cách rộng rãi và đem lại nhiều kết quả khả quan. Khoa học hỗ trợ cho kỹ thuật chuẩn đoán hình ảnh chính là xử lý ảnh. Chẳng hạn như trong các phương pháp: chụp X-quang, chụp cắt lớp CT, MRI, siêu âm, … Ảnh sau khi được tái tạo chưa thể rõ nét được, cần phải xử lý lọc nhiễu, tăng cường và khôi phục ảnh. Xử lý ảnh còn được ứng dụng trong nhận dạng tế bào ung thư, trong xác định tỉ lệ tế bào viêm trên tế bào bình thường. Trong phạm vi thời gian cho phép, chúng ta sẽ tìm hiểu và ứng dụng các vấn đề cơ bản như: thay đổi độ tương phản, tạo ảnh âm bản, phân ngưỡng ảnh. 2 Hướng giải quyết Để có hướng giải quyết tốt nhất đối với bài toán, trước tiên cần nắm các khái niệm về độ tương phản, ảnh âm bản, phân ngưỡng ảnh. a) Độ tương phản Ảnh số là tập hợp các điểm, mỗi điểm có giá trị độ sáng khác nhau. Ở đây, độ sáng để mắt người dễ cảm nhận ảnh song không phải là quyết định. Thực tế chỉ ra rằng hai đối tượng có cùng độ sáng nhưng đặt trên hai nền khác nhau sẽ cho cảm nhận sáng khác nhau. Như vậy, độ tương phản biểu diễn sự thay đổi độ sáng của đối tượng L11CQCN012-B Nhóm 5 Trang 3 Xử Lý Ảnh so với nền. Nói một cách khác, độ tương phản là độ nổi của điểm ảnh hay vùng ảnh so với nền. Như vậy, nếu ảnh có độ tương phản kém, ta có thể thay đổi tùy theo ý muốn. Ảnh với độ tương phản thấp có thể do điều kiện sáng không đủ hay không đều, hoặc do tính không tuyến tính hay biến động nhỏ của bộ cảm nhận ảnh. Để điều chỉnh lại độ tương phản của ảnh, cần điều chỉnh lại biên độ trên toàn dải hay trên dải có giới hạn bằng cách biến đổi tuyến tính biên độ đầu vào hay phi tuyến. b) Ảnh âm bản Âm bản nhận được bằng phép biến đổi âm. Phép biến đổi rất có nhiều hữu ích trong phim ảnh dùng trong các ảnh y học. c) Phân ngưỡng ảnh Kỹ thuật này đặt ngưỡng để hiển thị các tông màu liên tục. Các điểm trong ảnh được so sánh với ngưỡng định trước. Giá trị của ngưỡng sẽ quyết định điểm có được hiển thị hay không. Do vậy ảnh kết quả sẽ mất đi một số chi tiết. Có nhiều kỹ thuật chọn ngưỡng áp dụng cho các đối tượng khác nhau. Phân ngưỡng là trường hợp đặc biệt của tách nhiễu. Trong trường hợp này, ảnh đầu vào là ảnh nhị phân (có hai mức). Phân ngưỡng thường dùng trong kỹ thuật in ảnh hai màu vì ảnh gần nhị phân không cho ảnh nhị phân khi quét ảnh do có nhiễu từ bộ cảm biến và biến đổi của nền ví dụ trường hợp lọc nhiễu của ảnh vân tay. d) Hướng giải quyết Mục tiêu của chúng ta là xây dựng chương trình ứng dụng theo yêu cầu nhằm hiểu và nắm vững các khái niệm, thao tác, kỹ thuật về độ tương phản, ảnh âm bản và phân ngưỡng ảnh. Vì vậy, đầu tiên thực hiện xây dựng thuật toán, cài đặt phần mềm Matlab và điều cơ bản nhất là phải xây dựng được chương trình minh họa ở mức đơn giản, sau đó có thể phát triển lên (giao diện đẹp và thân thiện, bổ sung thêm các ứng dụng khác…). Sử dụng phần mềm Matlab để xây dựng chương trình hoàn chỉnh. Sau khi thiết kế và hoàn thành giao diện ứng dụng, thực hiện lập trình thao tác cho các đồ thị, nút… với yêu cầu đọc được file ảnh, xử lý, đưa ra màn hình, đồng thời xử lý và đưa ra file ảnh kết quả. L11CQCN012-B Nhóm 5 Trang 4 Xử Lý Ảnh 3 Thuật toán 4 Kỹ thuật cài đặt Sử dụng phần mềm Matlab. 4.1 Giao diện Thiết kế giao diện: hai trục tọa độ (asex1 hiển thị ảnh ban đầu, asex2 hiển thị ảnh sau khi xử lý), bảng điều khiển bao gồm các nút chọn ảnh, âm bản, phân ngưỡng, thay đổi độ tương phản và menu lưu ảnh (lưu ảnh với ba cách tùy theo nhu cầu). Bên cạnh đó, nhóm chúng em bổ sung thêm các ứng dụng phụ như các nút thoát, thiết lập lại, nút giới thiệu thông tin nhóm, và ứng dụng lựa chọn ngôn ngữ để thuận tiện cho người sử dụng. L11CQCN012-B Nhóm 5 Trang 5 Xử Lý Ảnh 4.2 Lập trình function varargout = BT2(varargin) % BT2 M-file for BT2.fig % BT2, by itself, creates a new BT2 or raises the existing % singleton*. % % H = BT2 returns the handle to a new BT2 or the handle to % the existing singleton*. % % BT2('CALLBACK',hObject,eventData,handles, ) calls the local % function named CALLBACK in BT2.M with the given input arguments. % % BT2('Property','Value', ) creates a new BT2 or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before BT2_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to BT2_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help BT2 % Last Modified by GUIDE v2.5 13-Dec-2012 21:33:16 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, 'gui_Singleton', gui_Singleton, 'gui_OpeningFcn', @BT2_OpeningFcn, 'gui_OutputFcn', @BT2_OutputFcn, 'gui_LayoutFcn', [] , 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % Executes just before BT2 is made visible. function BT2_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to BT2 (see VARARGIN) L11CQCN012-B Nhóm 5 Trang 6 Xử Lý Ảnh % Choose default command line output for BT2 handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes BT2 wait for user response (see UIRESUME) % uiwait(handles.figure1); % Outputs from this function are returned to the command line. function varargout = BT2_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % Executes on button press in thoat. function thoat_Callback(hObject, eventdata, handles) % hObject handle to thoat (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) clear all; % xoa bo nho close(BT2); %Thoat chuong trinh msgbox(' Thank You !!!!!!! Best Wish For You !!!!See You Again (^- ^) ') % Executes on button press in reset. function reset_Callback(hObject, eventdata, handles) % hObject handle to reset (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes2); cla reset; axes(handles.axes1); cla reset; clear all; % Executes on button press in gioithieu. function gioithieu_Callback(hObject, eventdata, handles) % hObject handle to gioithieu (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) msgbox('Hoc vien Cong Nghe Buu Chinh Vien Thong Khoa CNTT GVHD: Ths Trinh The Vinh Lop: L11CQCN012-B Nhom 4 Ngo Van Cuong Nguyen Van Loi L11CQCN012-B Nhóm 5 Trang 7 Xử Lý Ảnh Hoang Minh Trang Nguyen Quoc Vinh') % Executes on button press in ngonngu. function ngonngu_Callback(hObject, eventdata, handles) % hObject handle to ngonngu (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,'Value') returns toggle state of ngonngu a = get(hObject,'Value'); if a == 1 set(handles.ngonngu, 'String', 'Lua chon ngon ngu'); set(handles.amban, 'String', 'Am ban'); set(handles.nguong, 'String', 'Phan nguong'); set(handles.gioithieu, 'String', 'Gioi thieu'); set(handles.thoat, 'String', 'Thoat'); set(handles.dkhien, 'String', 'Bang Dieu Khien'); set(handles.tuongphan, 'String', 'Do Tuong Phan:'); set(handles.chon, 'String', 'Chon Anh'); set(handles.reset, 'String', 'ThietLapLai'); set(handles.luu, 'String', 'Luu Anh:'); else set(handles.ngonngu, 'String', 'Choose language'); set(handles.amban, 'String', 'Negative'); set(handles.nguong, 'String', 'Threshold'); set(handles.gioithieu, 'String', 'About'); set(handles.thoat, 'String', 'Exit'); set(handles.dkhien, 'String', 'Control Panel'); set(handles.tuongphan, 'String', 'Contrast:'); set(handles.chon, 'String', 'Choose Image'); set(handles.reset, 'String', 'Reset'); set(handles.luu, 'String', 'Save:'); end % Executes on button press in amban. function amban_Callback(hObject, eventdata, handles) % hObject handle to amban (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global anh; global anh2; anh2=imadjust(anh,[0 1],[1 0]); axes(handles.axes2); imshow(anh2); % Executes on button press in nguong. function nguong_Callback(hObject, eventdata, handles) % hObject handle to nguong (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global anh; global anh3; anh3 = im2bw(anh); axes(handles.axes2); imshow(anh3); L11CQCN012-B Nhóm 5 Trang 8 Xử Lý Ảnh % Executes on slider movement. function slider4_Callback(hObject, eventdata, handles) % hObject handle to slider4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'Value') returns position of slider % get(hObject,'Min') and get(hObject,'Max') to determine range of slider global anh; global anh4; a= anh; b= [get(hObject,'Value'), 1]; anh4=imadjust(a, stretchlim(a, b)); axes(handles.axes2); imshow(anh4); % Executes during object creation, after setting all properties. function slider4_CreateFcn(hObject, eventdata, handles) % hObject handle to slider4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: slider controls usually have a light gray background. if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]); end % Executes on button press in chon. function chon_Callback(hObject, eventdata, handles) % hObject handle to chon (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) [filename,pathname]=uigetfile({'*.*'},'Thu Vien Anh') global anh; var=strcat(pathname,filename); if (filename == 0) msgbox(' Vui long chon anh '); else anh=imread(var); axes(handles.axes1); imshow(anh); end % Executes during object creation, after setting all properties. function axes2_CreateFcn(hObject, eventdata, handles) % hObject handle to axes2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: place code in OpeningFcn to populate axes2 % Executes during object creation, after setting all properties. L11CQCN012-B Nhóm 5 Trang 9 Xử Lý Ảnh function axes1_CreateFcn(hObject, eventdata, handles) % hObject handle to axes1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: place code in OpeningFcn to populate axes1 % Executes during object creation, after setting all properties. function bang_CreateFcn(hObject, eventdata, handles) % hObject handle to bang (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Executes on selection change in popupmenu1. function popupmenu1_Callback(hObject, eventdata, handles) % hObject handle to popupmenu1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = get(hObject,'String') returns popupmenu1 contents as cell array % contents{get(hObject,'Value')} returns selected item from % popupmenu1 contents = get(hObject,'Value'); switch contents case 1 global anh2; imwrite(anh2,'AmBan.jpeg','jpeg'); case 2 global anh3; imwrite(anh3,'PhanNguong.jpeg','jpeg'); case 3 global anh4; imwrite(anh4,'TuongPhan.jpeg','jpeg'); end % Executes during object creation, after setting all properties. function popupmenu1_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % Executes during object creation, after setting all properties. function luu_CreateFcn(hObject, eventdata, handles) % hObject handle to luu (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called L11CQCN012-B Nhóm 5 Trang 10 [...].. .Xử Lý Ảnh 4.3 Kết quả 5 Các vấn đề khác Trong phạm vi thời gian không cho phép, nhóm chúng em dừng lại ở các nội dung ảnh âm bản, phân ngưỡng ảnh và thay đổi độ tương phản Nếu tiếp tục thực hiện sẽ thêm các ứng dụng khác như tách màu, nâng lượng ảnh, phát hiện biên… để chương cao chất trình hoàn thiện hơn Bên đó, ngoài yêu cầu của bài toán, chúng ta cũng có thể phát... chương cao chất trình hoàn thiện hơn Bên đó, ngoài yêu cầu của bài toán, chúng ta cũng có thể phát triển thêm các ứng dụng như: thao tác trực (khoanh vùng chẳng hạn…) bằng chuột trên ảnh âm bản sau khi đã được chuyển từ ảnh ban đầu… nhằm phục vụ tốt hơn cho người dùng tiếp cạnh L11CQCN012-B Nhóm 5 Trang 11 . Xử Lý Ảnh HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA CÔNG NGHỆ THÔNG TIN - - - - -o0o- - - - - BÁO CÁO BÀI TẬP MÔN XỬ LÝ ẢNH GVHD : Ths Trịnh Thế Vinh Lớp. Trang 1 Xử Lý Ảnh Đà Nẵng, 11/2012 L11CQCN012-B Nhóm 5 Trang 2 Xử Lý Ảnh Đề tài 04: Tìm hiểu các phương pháp thay đổi độ tương phản, tạo ảnh âm bản và phân ngưỡng ảnh. Thử nghiệm với ảnh 24 bit. 1. cho nó. Xử lý ảnh có nhiều ứng dụng trong thực tiễn như: hệ thông tin địa lý, quân sự, y học. Cụ thể, xử lý ảnh số có rất nhiều ứng dụng như: − Làm nổi các ảnh trong y học. − Khôi phục lại ảnh do

Ngày đăng: 13/07/2014, 20:13

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w