Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
1,67 MB
Nội dung
TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA CÔNG NGHỆ THÔNG TIN TIỂU LUẬN GIỮA KÌ MƠN HỌC: XSTK Ứng Dụng Cho CNTT Mã môn học: 502601 Người hướng dẫn: TS NGUYỄN LÂM Người thực hiện: TRẦN NAM ĐĂNG KHOA - 52100239 Lớp : 21050301 Khố TP HỒ CHÍ MINH, THÁNG 10 NĂM 2022 0 Tieu luan : 25 TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA CƠNG NGHỆ THƠNG TIN TIỂU LUẬN GIỮA KÌ MƠN HỌC: XSTK Ứng Dụng Cho CNTT Mã môn học: 502061 Người hướng dẫn: TS NGUYỄN LÂM Người thực hiện: TRẦN NAM ĐĂNG KHOA Lớp : 21050301 Khố TP HỒ CHÍ MINH, THÁNG 10 NĂM 2022 0 Tieu luan : 25 LỜI CẢM ƠN Lời đầu tiên, em xin chân thành cảm ơn trường Đại học Tôn Đức Thắng khoa Công nghệ thông tin tạo điều kiện học tập tốt cho sinh viên Em xin chân thành cảm ơn thầy Nguyễn Lâm cô Nguyễn Thị Huỳnh Trâm hướng dẫn để em hoàn thành tiểu luận Trong thời gian nửa đầu môn học thầy cô cho em thêm nhiều kiến thức bổ ích vận dụng chúng vào tiểu luận Bài tiểu luận kết hợp kiến thức nỗ lực em thời gian học vừa qua Do chưa có nhiều kinh nghiệm làm tiểu luận kiến thức hạn chế, tiểu luận không tránh khỏi thiếu sót Rất mong nhận giúp đỡ từ quý thầy để em hồn thiện Xin chân thành cảm ơn! 0 Tieu luan Contents NỘI DUNG BÁO CÁO Phần 1: Thư viện thống kê Python 0 Tieu luan NỘI DUNG BÁO CÁO Phần 1: Thư viện thống kê Python 1.1Tổng quan thư viện thống kê Python - Hiện có nhiều thư viện thống kê Python Python’s statistics, Numpy, Scipy, Pandas, Matplotlib, Seaborn, Bokeh, Plotly, Scrapy, … sau tìm hiểu thư viện thống kê phổ biến sử dụng rộng rãi nhất: Python’s statistics thư viện Python tích hợp cho thống kê mơ tả Có thể sử dụng liệu khơng q lớn dựa vào việc nhập thư viện khác staticstics: Mô-đun cung cấp chức để tính tốn thống kê tốn học Real liệu số (-valued) Mô-đun không nhằm mục đích trở thành đối thủ cạnh tranh với thư viện bên thứ ba NumPy , SciPy gói thống kê đầy đủ tính độc quyền nhằm vào nhà thống kê chuyên nghiệp Minitab, SAS Matlab Nó hướng đến trình độ vẽ đồ thị máy tính khoa học - Các phương thức thuộc statistics: Một số phương thức tính giá trị trung bình giá trị điển hình từ tập hợp mẫu là: mean(), fmean(), median(), median_low(), median_high(), mode(), mutimode(), quantiles(), … Một số phương thức tính toán thước đo mức độ mà tổng thể mẫu có xu hướng lệch khỏi giá trị điển hình trung bình là: pstdev(), pvariance(), stdev(), variance() Một số phương thức tính tốn số liệu thống kê liên quan đến quan hệ hai đầu vào là: covariance() , correlation(), linear_regression() 1.2 Các hàm thư viện Statistics(Thống kê) 0 Tieu luan 1.2.1 Hàm mean(): - Được sử dụng để tính giá trị trung bình tập liệu cho - Cách sử dụng: statistics.mean(data) - Tham số đầu vào data (dữ liệu bất kĩ chuỗi, danh sách chuỗi lặp nào) - Trả giá trị trung bình số học liệu chuỗi lặp lại Lưu ý liệu rỗng xuất lỗi StatisticsError - Ví dụ: 1.2.2 Hàm fmean(): - Được sử dụng để tính giá trị trung bình thực giá trị đầu vào Nó chuyển đổi liệu đầu vào thành giá trị float tính giá trị trung bình số học - Cách sử dụng: statistics.fmean(data) - Tham số đầu vào data (dữ liệu bất kĩ chuỗi, danh sách trình lặp nào) - Phương thức chạy nhanh phương thức mean() ln trả kết float Lưu ý liệu rỗng xuất lỗi StatisticsError - Ví dụ: 0 Tieu luan 1.2.3 Hàm geometric_mean(): - Được sử dụng để tính giá trị trung bình thực giá trị đầu vào Nó chuyển đổi liệu đầu vào thành giá trị float tính giá trị trung bình hình học - Cách sử dụng: statistics.geometric_mean(data) - Tham số đầu vào data (dữ liệu bất kĩ chuỗi, danh sách trình lặp nào) - Giá trị trung bình hình học cho thấy xu hướng trung tâm giá trị điển hình liệu cách sử dụng sản phẩm giá trị (trái ngược với giá trị trung bình số học sử dụng tổng chúng) Và kết trả giá trị trung bình hình học liệu cho Lưu ý liệu rỗng, chứa số chứa giá trị âm xuất lỗi StatisticsError - Ví dụ: 0 Tieu luan 1.2.4 Hàm harmonic_mean(): - Được sử dụng để tính giá trị trung bình điều hịa (vị trí trung tâm) tập liệu cho - Cách sử dụng: statistics.harmonic_mean(data) - Tham số đầu vào data (dữ liệu bất kĩ chuỗi, danh sách trình lặp nào) Lưu ý không chứa giá trị âm - Trả giá trị trung bình hài hịa liệu cho Lưu ý liệu rỗng xuất lỗi StatisticsError - Ví dụ: 0 Tieu luan 1.2.5 Hàm median(): - Được sử dụng tính giá trị trung vị (giá trị giữa) tập liệu cho Phương pháp xếp liệu theo thứ tự tăng dần trước tính giá trị trung bình - Cách sử dụng: statistics.median(data) - Tham số đầu vào data (dữ liệu bất kĩ chuỗi, danh sách trình lặp nào) - Trả giá trị trung vị liệu cho Lưu ý liệu rỗng xuất lỗi StatisticsError - Ví dụ: 0 Tieu luan 1.2.6 Hàm median_low(): - Được sử dụng tính giá trị trung bình thấp tập liệu cho Phương pháp xếp liệu theo thứ tự tăng dần trước tính giá trị trung vị thấp - Cách sử dụng: statistics.median_low(data) - Tham số đầu vào data (dữ liệu bất kĩ chuỗi, danh sách trình lặp nào) - Trả trung bình thấp liệu số Lưu ý liệu rỗng xuất lỗi StatisticsError - Ví dụ: - Hàm median_high(): - Được sử dụng tính giá trị trung bình cao tập liệu cho Phương pháp xếp liệu theo thứ tự tăng dần trước tính giá trị trung vị cao - Cách sử dụng: statistics.median_high(data) 0 Tieu luan 10 khoảng thời gian đối số tùy chọn biểu thị khoảng thời gian lớp mặc định thành - Trả giá trị trung bình liệu liên tục nhóm lại, tính phần trăm thứ 50 Lưu ý liệu rỗng xuất lỗi StatistcsError - Ví dụ: - statistics.mode(data): - Được sử dụng tính tốn chế độ (xu hướng trung tâm) tập liệu số danh nghĩa cho - Dữ liệu đầu vào data bất kĩ chuỗi, danh sách iterator - Trả điểm liệu phổ biến từ liệu rời rạc danh nghĩa Chế độ (khi tồn tại) giá trị điển hình đóng vai trị thước đo vị trí trung tâm - Nếu có nhiều chế độ có tần số, trả phương thức gặp liệu Lưu ý liệu rỗng xuất lỗi StatistcsError - Ví dụ: 0 Tieu luan 11 1.2.9 Hàm multimode(): - Được sử dụng để tìm danh sách chế độ (giá trị phổ biến nhất) liệu riêng biệt danh nghĩa cho - Cách sử dụng: statistics.multimode(data) - Dữ liệu đầu vào data bất kĩ chuỗi, danh sách iterator - Trả danh sách chế độ (giá trị phổ biến nhất) liệu Lưu ý liệu rỗng xuất lỗi StatistcsError - Ví dụ: - Hàm quantiles() - Được sử đụng để sử dụng để trả lượng tử tương ứng với số n có liệu lặp lại chứa liệu - Cáchsử dụng:statistics.quantiles(data,*,n,method) 0 Tieu luan 12 - Dữ liệu đầu vào gồm có tham số data (chứa liệu mà bạn muốn có lượng tử, không rỗng), n (số lượng lượng tử bạn muốn Tham số có giá trị số nguyên, theo mặc định, tùy chọn), method (phương pháp mà lượng tử tính tốn) - Trả danh sách chứa giá trị số lượng tử n-1 - Ví dụ: 1.2.10 Hàm pstdev(): - Được sử dụng để tính độ lệch chuẩn dân số tập liệu định - Cách sử dụng: statistics.pstdev(data, mu) - Dữ liệu đầu vào gồm có data (nó danh sách, chuỗi iterator nào, không rỗng), mu (đây đối số tùy chọn Nó giá trị liệu cung cấp Nếu giá trị khơng cung cấp, phải giá trị trung bình liệu Nếu bị thiếu khơng có giá trị trung bình số học tự động tính tốn) - Trả giá trị float đại diện cho độ lệch chuẩn dân số liệu định Lưu ý liệu rỗng xuất lỗi StatistcsError - Ví dụ: 0 Tieu luan 13 - Hàm pvariance(): - Được sử dụng để trả phương sai dân số liệu định - Cách sử dụng: statistics.pvariance(data, mu) - Dữ liệu đầu vào gồm có data (nó danh sách, chuỗi iterator nào, không rỗng), mu (đây đối số tùy chọn Nó giá trị liệu cung cấp Nếu giá trị khơng cung cấp, phải giá trị trung bình liệu Nếu bị thiếu khơng có giá trị trung bình số học tự động tính tốn) - Trả giá trị float đại diện cho phương sai dân số liệu định Lưu ý liệu rỗng xuất lỗi StatistcsError - Ví dụ: 0 Tieu luan 14 - Hàm stdev(): - Được sử dụng để tính độ lệch chuẩn tập liệu - Cách sử dụng: statistics.stdev(data, xbar=None) - Dữ liệu đầu vào gồm có data (nó danh sách, chuỗi iterator nào, không rỗng), xbar (đây đối số tùy chọn Nó giá trị liệu cung cấp Nếu giá trị khơng cung cấp, phải giá trị trung bình liệu Nếu bị thiếu khơng có giá trị trung bình số học tự động tính tốn) - Trả giá trị float đại diện cho độ lệch chuẩn liệu định Lưu ý liệu rỗng có hai giá trị xuất lỗi StatistcsError - Ví dụ: - Hàm variance(): Được sử dụng để trả phương sai mẫu liệu cho - Cách sử dung: 0 Tieu luan 15 Statistics.variance(data, xbar) - Dữ liệu đầu vào gồm có data (nó danh sách, chuỗi iterator nào, không rỗng), xbar (đây đối số tùy chọn Nó giá trị liệu cung cấp Nếu giá trị không cung cấp, phải giá trị trung bình liệu Nếu bị thiếu khơng có giá trị trung bình số học tự động tính tốn) - Trả giá trị float đại diện cho phương sai liệu định Lưu ý liệu rỗng có hai giá trị xuất lỗi StatistcsError - Ví dụ: 1.2.13 Hàm covariance(x, y, /): - Được sử dụng để tìm hiệp phương sai hai đầu vào Hiệp phương sai thước đo độ biến thiên chung hai đầu vào - Cách sử dụng: statistics.covariance(x, y, /): - Dữ liệu đầu vào gồm x (tham số thứ nhất), y (tham số thứ hai) - Trả hiệp phương sai hai đầu vào x y Cả hai đầu vào phải có độ dài (khơng hai), khơng lỗi StatisticerRror xuất - Ví dụ: 0 Tieu luan 16 - Hàm correlation(x, y, /): - Được sử dụng tìm hệ số tương quan Pearson hai đầu vào - Cách sử dụng: statistics.correlation(x,y,/) - Dữ liệu đầu vào gồm x (tham số thứ nhất), y (tham số thứ hai) - Trả hệ số tương quan Pearson cho hai đầu vào Hệ số tương quan Pearson R có giá trị -1 đến +1 Cả hai đầu vào phải có độ dài (không hai) không cần phải không đổi, khơng lỗi StatisticsError xuất - Ví dụ: Hàm linear_regression() - Được sử dụng để tính hồi quy tuyến tính, tức mối quan hệ độc lập tuyến tính biến x với phụ thuộc tuyến tính b y = độ dốc + x + điểm chặn 0 Tieu luan 17 với x biến độc lập tuyến tính cịn y biến phụ thuộc tuyến tính - Cách sử dụng: statistics.linear_regression(x, y) - Tham số đầu vào x, y (hai biến dãy giá trị thực) - Trả độ dốc chặn tham số hồi quy tuyến tính - Ví dụ: 0 Tieu luan 18 Phần 2: Histogram equalization algorithm (Thuật toán cân biểu đồ) 2.1 Khái niệm - Trong lĩnh vực xử lí ảnh, histogram biểu đồ tần xuất dùng để thống kê số lần xuất mức sáng ảnh - Cân histogram (histogram equalization) điều chỉnh histogram trạng thái cân bằng, làm cho phân bố (distribution) giá trị pixel không bị co cụm khoảng hẹp mà "kéo dãn" - Các bước để cân biểu đồ Histogram eualization algorithm: Thống kê pixel cho mức sáng cho ảnh ta histogram H(i) i H '(i) H ( j) Áp dụng hàm biến đổi: j Chuẩn hóa histogram vừa biến đổi (H '(i )) [0,255] Lập biểu đồ với mức sáng ảnh kết theo H′: I′ (x,y) = H′( I′(x,y) = H′(I(x,y)) Với I(x,y) ảnh gốc, I′ (x,y) ảnh cân sáng - Trong thư viện OpenCV có hàm hỗ trợ trực tiếp để equalizeHist() - Kết sau cân nhận lại ảnh có mức độ tương phản cao 0 Tieu luan 19 - Thuật toán dùng từ thư viện OpenCV - Ứng dụng việc cân ảnh lĩnh vực y tế: Thông thường, bạn thấy cân biểu đồ áp dụng cho quét tia X chụp CT để cải thiện độ tương phản phim chụp X quang Làm giúp bác sĩ chun gia X quang giải thích tốt hình ảnh qt đưa chẩn đốn xác 2.2 Ví dụ Histogram equalization algorithm - Sau hình ảnh minh họa ảnh biểu đồ trước ta dùng thuật tốn để cân bằng: - Nhìn vào biểu đồ ta thấy giá trị pixel (trục ngang) nằm khoảng [150, 200] Điều khiến cho toàn ảnh bị sáng mức cần thiết, độ tương phản không cao, không rõ nét - Sau hình ảnh biểu đồ dùng thuật toán để cân bằng: 0 Tieu luan 20 - Nhìn vào biểu đồ ảnh ta thấy giá trị pixel trải dài khoảng [0,255] làm cho ảnh có độ tương phản cao Đó kết việc sử dụng thuật toán Histogram equalization 2.3 Nhận xét đánh giá - Thuật toán Histogram equalization công cụ hỗ trợ nhiều lĩnh vực đời sống xã hội - Chúng ta cần tiếp nhận phát triển thêm 0 Tieu luan 21 Phần 3: THỰC HIỆN 3.1 Hướng dẫn xây dựng chạy mã nguồn tôi: - Nhập thư viện hình ảnh - Xây dựng chức tính toán biểu đồ - Xây dựng hàm cân biểu đồ - Chuẩn hóa biểu đồ - Tạo biểu đồ ảnh sau cân 3.2 My code: 0 Tieu luan 22 3.3 Kết quả: - Ảnh gốc: - Biểu đồ ảnh gốc: 0 Tieu luan 23 - Ảnh mới: - Biểu đồ ảnh mới: 0 Tieu luan 24 TÀI LIỆU THAM KHẢO Tiếng Việt https://viblo.asia/p/xu-li-anh-thuat-toan-can-bang-histogram-anhGrLZDOogKk0 Tiếng Anh https://docs.python.org/3/library/statistics.html https://docs.opencv.org/2.4/doc/tutorials/imgproc/histograms/histogram_e qualization/histogram_equalization.html#how-does-it-work https://www.geeksforgeeks.org/matplotlib-tutorial/ 0 Tieu luan ...TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA CÔNG NGHỆ THÔNG TIN TIỂU LUẬN GIỮA KÌ MƠN HỌC: XSTK Ứng Dụng Cho CNTT Mã môn học: 502061 Người hướng dẫn: TS NGUYỄN LÂM Người... sau tìm hiểu thư viện thống kê phổ biến sử dụng rộng rãi nhất: Python’s statistics thư viện Python tích hợp cho thống kê mơ tả Có thể sử dụng liệu không lớn dựa vào việc nhập thư viện khác ... Python 0 Tieu luan NỘI DUNG BÁO CÁO Phần 1: Thư viện thống kê Python 1.1Tổng quan thư viện thống kê Python - Hiện có nhiều thư viện thống kê Python Python’s statistics, Numpy, Scipy, Pandas,