Quá trình xử lý ảnhẢnh có thể xem là tập hợp các điểm ảnh và mỗi điểm ảnh được xem như là đặc trưng cường độ sáng hay một dấu hiệu nào đó tạimột vị trí nào đó của đối tượng trong không g
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINVÀ TRUYỀN THÔNG VIỆT- HÀN
KHOA KỸ THUẬT MÁY TÍNH VÀ ĐIỆN TỬ
BÁO CÁO MÔN:THỊ GIÁC MÁY TÍNH
ĐỀ TÀI:NGHIÊN CỨU VÀ XÂY DỰNG CHƯƠNG TRÌNH
TRÍCH XUẤT THÔNG TIN TỪ THẺ SINH VIÊN
Giảng viên hướng dẫn : ThS Trần Thị Trà Vinh
Nguyễn Trọng Tài
Đà Nẵng, tháng 5 năm 2023
Trang 2LỜI CẢM ƠN
Chúng em xin trân trọng cảm ơn chân thành đến ban giám hiệunhà trường, cùng các thầy cô đã tận tình chỉ bảo giảng dạy, cung cấpkiển thức nền tảng tạo điều kiện tốt nhất để chúng em học tập trau dồi.Đặc biệt em xin chân thành cảm ơn thầy Vương Công Đạt đãnhiệt tình hướng dẫn chúng em trong suốt quá trình xây dựng đề tài
Trong quá trình thực hiện đề tài, chúng em đã rất cố gắng nổ lựctuy nhiên không tránh khỏi sai sót Chúng em mong nhận được sự gópý của thầy cô giáo và từ phía hội đồng nhà trường để có thể thực hiệnhoàn chỉnh hơn ở những chủ đề sau
Chúng em xin chân thành cảm ơn!
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN
Trang 41.2.3 Các bước setup OpenCV 19
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 21
2.1 TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH PYTHON 21
2.1.1 Python là gì? 21
2.1.2 Ứng dụng của Python 22
2.1.3 Đặc tính và lợi thế của Python 25
2.1.4 Tại sao Python lại phổ biến? 25
2.2 TỔNG QUAN VỀ TESSERACT OCR TRONG PYTHON 26
2.2.1 Tesseract OCR là gì? 26
2.2.2 Cơ chế hoạt động của Tesseract OCR 27
CHƯƠNG 3 XÂY DỰNG CHƯƠNG TRÌNH 30
3.1 CÁCH CÀI ĐẶT TESSERACT OCR CHO PYTHON 30
3.2 CODE CỦA CHƯƠNG TRÌNH 36
3.2 KẾT QUẢ 44
KẾT LUẬN 46
TÀI LIỆU THAM KHẢO 47
Trang 5DANH MỤC HÌNH ẢNH
Hình 1.1 Quá trình xử lý ảnh 7
Hình 1.2 Các bước cơ bản trong một hệ thống xử lý ảnh 8
Hình 1.3 Ảnh thu nhận và ảnh mong muốn 8
Hình 1.4 Thư viện OpenCV 13
Hình 1.5 Một số cấu trúc module mà OpenCV cung cấp 15
Hình 1.6 OpenCV trong xử lý ảnh 16
Hình 1.7 Phát hiện đối tượng nhờ OpenCV 17
Hình 1.8 Phát hiện ra khuôn mặt của ai đó từ một hình ảnh cụ thể 18
Hình 1.9 Nhận dạng văn bản nhờ OpenCV 18
Hình 1.10 Phân tích hình dạng nhờ OpenCV 19
Hình 1.11 Điều hướng theo build -> Python -> 2,7 -> x86 19
Hình 1.12 Copy paste file cv2.pyd vào thư mục gốc của Python 20
Hình 2.1 Python là ngôn ngữ lập trình bậc cao 21
Hình 2.2 Python trong phân tích dữ liệu 22
Hình 2.3 Python có thể giúp chúng ta phát triển xây dựng các trang web 23
Hình 2.4 Python được sử dụng rất phổ biến trong việc phát triển phần mềm .24
Hình 2.5 Kết quả phân tích của Tesseract OCR 27
Hình 2.6 Chia nhỏ các ký tự trong từ 28
Hình 3.1 Giao diện sau khi trích xuất thông tin thẻ sinh viên 44
Hình 3.2 Giao diện sau khi xuất thông tin qua excel 44
Trang 6MỞ ĐẦU1 Giới thiệu
Ngày nay, tất cả các cơ quan, tổ chức đều có hàng nghìn cácloại giấy tờ, tài liệu, với nhiều định dạng khác nhau như cácvăn bản in/viết tay trên giấy, file PDF, JPG… Các nhân viênkhó có thể nhập tất cả các dữ liệu đó vào hệ thống, hoặcphải tốn rất nhiều thời gian để xử lí khối lượng giấy tờkhông hồi kết đó Hơn thế, xác suất sai sót trong nhập liệukhá lớn
Nhiều cơ quan, tổ chức chọn giải pháp chuyển đổi các hợpđồng, hóa đơn, chứng từ và nhiều loại giấy tờ khác thànhvăn bản dưới dạng kĩ thuật số, để tiện sử dụng dữ liệu đócho các báo cáo tài chính, lưu trữ hay trao đổi tài liệu Vàphần mềm OCR là sự lựa chọn tuyệt vời Hôm nay chúngem sẽ làm một chương trình quét thông tin thẻ sinh viênhoặc căn cước công dân và thông tin sẽ được đưa vào phầnmềm Excel chỉ với thao tác quét của camera
2 Mục tiêu của đề tài
Mục tiêu của đề tài là tạo ra một sản phẩm có ích và tiện lợi chocuộc sống giúp mọi người có thể trích xuất và lưu trữ thông tin mộtcách nhanh chóng nếu gặp tài liệu lớn với độ chính xác cao mà khôngcần phải nhập tay Ngoài ra, chúng em mong muốn sau đồ án lần này ,kĩ năng tra cứu thông tin, kĩ năng làm việc nhóm và kỹ năng lập trình
Trang 7của tụi em sẽ tiến bộ hơn
3 Nội dung và kế hoạch thực hiệnNội dungKế hoạch thực hiện
Lên ý tưởng và tìmnguồn tham khảo
Thành viên trong nhóm sẽ tự nghĩ và tìmhiểu ý tưởng trên các nguồn trong vòng 1tuần sau đó tiến hành lên kế hoạch thựchiện đề tài
Làm đề cương đồ án vàtiếp nhận ý kiến củagiảng viên
Liên hệ trực tiếp giảng viên hướng dẫn đểlắng nghe góp ý về đồ án, hướng pháttriển,…
Chuẩn bị bài thuyếttrình và báo cáo chi tiếtbảo vệ đồ án
Làm slide và báo cáo trên ứng dụngPowerPoint và Word
Trang 8CHƯƠNG 1 CƠ SỞ LÝ THUYẾT1.1 TỔNG QUAN VỀ XỬ LÝ ẢNH
1.1.1 Xử lý ảnh là gì?
Con người thu nhận thông tin qua các giác quan, trong đó thị giác đóng vai trò quan trọng nhất Những năm trở lại đây với sự phát triển của phần cứng máy tính, xử lý ảnh và đồ hoạ đó phát triển một cách mạnh mẽ và có nhiều ứng dụng trong cuộc sống Xử lý ảnh và đồ hoạ đóng một vai trò quan trọng trong tương tácngười máy Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho ra kết quả mong muốn Kết quả đầu racủa một quá trình xử lý ảnh có thể là một ảnh “tốt hơn” hoặc mộtkết luận
Hình 1.1 Quá trình xử lý ảnhẢnh có thể xem là tập hợp các điểm ảnh và mỗi điểm ảnh được xem như là đặc trưng cường độ sáng hay một dấu hiệu nào đó tạimột vị trí nào đó của đối tượng trong không gian và nó có thể xem như một hàm n biến P(c1, c2, , cn) Do đó, ảnh trong xử lýảnh có thể xem như ảnh n chiều
Sơ đồ tổng quát của một hệ thống xử lý ảnh:
Trang 9Hình 1.2 Các bước cơ bản trong một hệ thống xử lý ảnh
1.1.2 Các vấn đề cơ bản trong xử lý ảnh Một số khái niệm cơ bản
* Ảnh và điểm ảnh:
Lưu trữ Thu nhận ảnh (Scanner, Camera,Sensor) Tiền xử lý Trích chọn đặc điểm Hệ quyết định Đối sánh rút ra kết luận Hậu xử lý Ảnh XỬ LÝ ẢNH Ảnh “Tốt hơn” Kết luận 8 Điểm ảnh được xem như là dấu hiệu hay cường độ sáng tại 1 toạ độ trong không gian của đối tượng và ảnh được xem như là 1 tập hợp các điểm ảnh
* Mức xám, màu: Là số các giá trị có thể có của các điểm ảnh của ảnh
Trang 10Để khắc phục người ta sử dụng các phép chiếu, các phép chiếu thường được xây dựng trên tập các điểm điều khiển.
Khữ nhiễuCó 2 loại nhiễu cơ bản trong quá trình thu nhận ảnh • Nhiều hệ thống: là nhiễu có quy luật có thể khử bằng các phép
biến đổi • Nhiễu ngẫu nhiên: vết bẩn không rõ nguyên nhân → khắc phục bằng các phép lọc
Chỉnh mức xámNhằm khắc phục tính không đồng đều của hệ thống gây ra Thông thường có 2 hướng tiếp cận:
• Giảm số mức xám: Thực hiện bằng cách nhóm các mức xám
gần nhau thành một bó Trường hợp chỉ có 2 mức xám thì chính là chuyển về ảnh đen trắng Ứng dụng: In ảnh màu ra máy in đentrắng
• Tăng số mức xám: Thực hiện nội suy ra các mức xám trung
gian bằng kỹ thuật nội suy Kỹ thuật này nhằm tăng cường độ mịn cho ảnh
Trích chọn đặc điểmCác đặc điểm của đối tượng được trích chọn tuỳ theo mục đích nhận dạng trong quá trình xử lý ảnh Có thể nêu ra mộtsố đặc điểm của ảnh sau đây:
Đặc điểm không gian: Phân bố mức xám, phân bố xác suất,
biên độ, điểm uốn v.v
Đặc điểm biến đổi: Các đặc điểm loại này được trích chọn bằng
việc thực hiện lọc vùng (zonal filtering) Các bộ vùng được gọi
Trang 11là “mặt nạ đặc 10 điểm” (feature mask) thường là các khe hẹp với hình dạng khác nhau (chữ nhật, tam giác, cung tròn v.v )
Đặc điểm biên và đường biên: Đặc trưng cho đường biên của
đối tượng và do vậy rất hữu ích trong việc trích trọn các thuộc tính bất biến được dùng khi nhận dạng đối tượng Các đặc điểm này có thể được trích chọn nhờ toán tử gradient, toán tử la bàn, toán tử Laplace, toán tử “chéo không” (zero crossing) v.v Việc trích chọn hiệu quả các đặc điểm giúp cho việc nhận dạng các đối tượng ảnh chính xác, với tốc độ tính toán cao và dung lượng nhớ lưu trữ giảm xuống
Nhận dạngNhận dạng tự động (automatic recognition), mô tả đối tượng,
phân loại và phân nhóm các mẫu là những vấn đề quan trọng trong thị giác máy, được ứng dụng trong nhiều ngành khoa học khác nhau Tuy nhiên, một câu hỏi đặt ra là: mẫu (pattern) là gì? Watanabe, một trong những người đi đầu trong lĩnh vực này đã định nghĩa: “Ngược lại với hỗn loạn (chaos), mẫu là một thực thể (entity), được xác định một cách ang áng (vaguely defined) và có thể gán cho nó một tên gọi nào đó” Ví dụ mẫu có thể là ảnh của vân tay, ảnh của một vật nào đó được chụp, một chữ viết, khuôn mặt người hoặc một ký đồ tín hiệu tiếng nói Khi biếtmột mẫu nào đó, để nhận dạng hoặc phân loại mẫu đó có thể:
Hoặc phân loại có mẫu (supervised classification), chẳng hạn
phân tích phân biệt (discriminant analyis), trong đó mẫu đầu vàođược định danh như một thành phần của một lớp đã xác định
Hoặc phân loại không có mẫu (unsupervised classification
Trang 12hay clustering) trong đó các mẫu được gán vào các lớp khác
nhau dựa trên một tiêu chuẩn đồng dạng nào đó Các lớp này chođến thời điểm phân loại vẫn chưa biết hay chưa được định danh Hệ thống nhận dạng tự động bao gồm ba khâu tương ứng với ba
giai đoạn chủ yếu sau đây: 1o Thu nhận dữ liệu và tiền xử lý
2o Biểu diễn dữ liệu 3o Nhận dạng, ra quyết định
Bốn cách tiếp cận khác nhau trong lý thuyết nhận dạng là: 1o Đối sánh mẫu dựa trên các đặc trưng được trích chọn 2o Phân loại thống kê
3o Đối sánh cấu trúc
4o Phân loại dựa trên mạng nơ-ron nhân tạo
Trong các ứng dụng rõ ràng là không thể chỉ dùng có một cách tiếp cận đơn lẻ để phân loại “tối ưu” do vậy cần sử dụng cùng một lúc nhiều phương pháp và cách tiếp cận khác nhau Do vậy, các phương thức phân loại tổ hợp hay được sử dụng khi nhận dạng và nay đã có những kết quả có triển vọng dựa trên thiết kế các hệ thống lai (hybrid system) bao gồm nhiều mô hình kết hợp
Việc giải quyết bài toán nhận dạng trong những ứng dụng mới, nảy sinh trong cuộc sống không chỉ tạo ra những thách thức về thuật giải, mà còn đặt ra những yêu cầu về tốc độ tính toán Đặc điểm chung của tất cả những ứng dụng đó là những đặc điểm đặctrưng cần thiết thường là nhiều, không thể do chuyên gia đề xuất, mà phải được trích chọn dựa trên các thủ tục phân tích dữ
Trang 13 Nén ảnh
Nhằm giảm thiểu không gian lưu trữ Thường được tiến hành theo cả hai cách khuynh hướng là nén có bảo toàn và không bảo toàn thông tin Nén không bảo toàn thì thường có khả năng nén cao hơn nhưng khả năng phục hồi thì kém hơn Trên cơ sở hai khuynh hướng, có 4 cách tiếp cận cơ bản trong nén ảnh:
• Nén ảnh thống kê: Kỹ thuật nén này dựa vào việc thống kê
tần xuất xuất hiện của giá trị các điểm ảnh, trên cơ sở đó mà có chiến lược mã hóa thích hợp Một ví dụ điển hình cho kỹ thuật
mã hóa này là *.TIF • Nén ảnh không gian: Kỹ thuật này dựa vào vị trí không gian
của các điểm ảnh để tiến hành mã hóa Kỹ thuật lợi dụng sự giống nhau của các điểm ảnh trong các vùng gần nhau Ví dụ
cho kỹ thuật này là mã nén *.PCX • Nén ảnh sử dụng phép biến đổi: Đây là kỹ thuật tiếp cận theo
hướng nén không bảo toàn và do vậy, kỹ thuật thướng nến hiệu quả hơn *.JPG chính là tiếp cận theo kỹ thuật nén này
• Nén ảnh Fractal: Sử dụng tính chất Fractal của các đối tượng
ảnh, thể hiện sự lặp lại của các chi tiết Kỹ thuật nén sẽ tính toán để chỉ cần lưu trữ
1.2 TỔNG QUAN VỀ THƯ VIỆN OPENCV TRONG
Trang 14PYTHON1.2.1 OpenCV là gì?
OpenCV là dạng viết tắt của cụm từ “Open Source Computer Vision Library” – một thư viện nguồn mở dành cho Machine Learning và Computer Vision OpenCV được tạo ra để phân tích và học máy theo thời gian thực cũng như xử lý hình ảnh, video Hiện bộ công cụ OpenCV còn được bổ sung tính năng tăng tốc GPU theo real-time Đối tượng chính của OpenCV đó là các ứngdụng theo thời gian thực (real-time applications)
Ưu điểm OpenCV đó là nó cung cấp hơn 2.500 thuật toán cổ điển và hiện đại, tất cả đều được tối ưu hóa cho học máy và thị giác máy tính Thư viện nguồn mở này có giấy phép BSD, vì vậynó được phát hành miễn phí dành cho cả mục đích học tập và thương mại
OpenCV tương thích với nhiều nền tảng như Windows, macOS, Linux, Android, iOS và các ngôn ngữ lập trình khác nhau như Java, Python, C hay C++ Thư viện này có khả năng tận dụng tốiđa khả năng sẵn có của phần cứng, từ đó đảm bảo các ứng dụng máy tính đạt được hiệu suất cao nhất
Hình 1.4 Thư viện OpenCV
Trang 15Ngày nay, OpenCV được sử dụng rộng rãi trong nhiều lĩnh vực khác nhau như:
- Hình ảnh street view - Kiểm soát và theo dõi tự động - Robot và xe ô tô tự lái - Phân tích và xử lý hình ảnh y học - Tìm kiếm và khôi phục hình ảnh hoặc video - Nghệ thuật sắp đặt tương tác
- Phim – cấu trúc 3D từ các chuyển động
1.2.2 Những cấu trúc module của OpenCV là gì?
Cấu trúc module là gói có chứa các static libraries (thư viện liên kết tĩnh) hoặc shared libraries (thư viện liên kết động) Sau đây là một số module có trong OpenCV:
Core functionality (core): Đây là module nhỏ gọn cho phép xác
định các cấu trúc dữ liệu cơ bản Trong đó bao gồm những tính
năng cơ bản mà tất cả các module khác đều cần đến Image Processing (imgproc): Imgproc là module xử lý hình
ảnh của OpenCV Trong đó có chuyển đổi không gian màu, phépbiến đổi hình học, lọc hình ảnh tuyến tính và phi tuyến, biểu đồ…
Video Analysis (video): Trong module phân tích video, bạn có thể tìm thấy các thuật toán như tách nền, tính toán chuyển động, theo dõi vật thể…
Camera Calibration and 3D Reconstruction (calib3d):
Module này bao gồm các thuật toán liên như tái tạo 3D, dự đoán
kiểu dáng, hình học đa chiều cơ bản, thư tín âm thanh nổi…
Trang 16Object Detection (objdetect): Module này cho phép nhận dạng
đối tượng và mô phỏng các predefined classes (hàm được định nghĩa sẵn)… 2D Features Framework (features2d): Đây là module chứa các thuật toán phát hiện các đặc trưng của bộ nhận diện, thông số đối chọi, bộ truy xuất thông số…
Hình 1.5 Một số cấu trúc module mà OpenCV cung cấp
1.2.3.Ứng dụng của OpenCV Xử lý hình ảnh
OpenCV cung cấp hầu hết các công cụ xử lý hình ảnh cơ bản để hỗ trợ bạn trong quá trình viết thuật toán cho computer vision Một số chức năng xử lý hình ảnh của OpenCV gồm phân tích hình dạng, chuyển đổi màu sắc, biến đổi hình học, lọc hình ảnh…
Trang 17Hình 1.7 OpenCV trong xử lý ảnh
Phân tích Video
Thư viện mở OpenCV còn cung cấp tính năng phân tích video, giúp bạn xử lý các tác vụ như tạo mô hình theo dõi video, giám sát các đối tượng khác nhau trong video, phân tích chuyển động của các khung hình liên tiếp…
Bên cạnh đó, bạn còn có thể sử dụng OpenCV để xử lý sự ổn định của video – một yếu tố cực kỳ quan trọng Trên thực tế, mọi thiết bị hiện đại trước khi trình chiếu tới ngườidùng đều phải trải qua các kỹ thuật xử lý video
Tái tạo 3D
Đối với computer vision, tái tạo 3D đóng vai trò cực kỳ thiết yếu OpenCV cung cấp cho các bạn thuật toán cần thiết kế tìm ra mối liên hệ giữa đối tượng này với đối tượngkhác trong tập hợp hình 2D Từ đó tính toán vị trí và tái tạolại cảnh 3D từ các hình ảnh 2D đó
Phát hiện đối tượng
Phát hiện đối tượng tức là tìm ra vị trí của một đối tượng
Trang 18nào đó xuất hiện trong hình ảnh nhất định Tuy nhiên phát hiện đối tượng chỉ cho biết vị trí chứ không thể phân loại đối tượng Trong nhiều hệ thống computer vision, tính năng phát hiện vị trí đối tượng đóng vai trò then chốt Giả sử như bạn đang muốn xây dựng phần mềm nhận diện áo Phần mềm này sẽ chỉ ra vị trí cụ thể của chiếc áo từ một hình ảnh nhất định được cung cấp Tuy nhiên phần mềm đó có thể sẽ không chỉ ra được những điểm đặc trưng của chiếc áo như kích cỡ, màu sắc, kiểu dáng (trừ khi đượcthiết lập).
Hình 1.7 Phát hiện đối tượng nhờ OpenCV
Nhận dạng khuôn mặt để tìm ra đối tượng
Nhận dạng khuôn mặt được hiểu đơn giản là việc phát hiệnra khuôn mặt của ai đó từ một hình ảnh cụ thể Nếu muốn phát triển hệ thống sinh trắc học thực tế cho phép phát hiệnkhuôn mặt trước ống kính máy ảnh, bạn cần đến tính năng nhận diện đặc điểm để dò tìm vị trí khuôn mặt Sau đó dựa trên các đặc điểm đã thu nhập được, bạn có thể tạo nên phần mềm cho phép nhận diện khuôn mặt và phát hiện đối
Trang 19Hình 1.9 Nhận dạng văn bản nhờ OpenCV
Phân tích hình dạng
Trong computer vision, khái niệm hình dạng rất quan trọngvà được đề cao OpenCV có khả năng phát hiện ra nhiều hình dạng khác nhau có trong một hình ảnh nhất định
Trang 20Bước này có ý nghĩa then chốt trong nhiều thuật toán Bạn có thể sử dụng các thuật toán có trong module của OpenCV để trích xuất nhiều hình dạng khác nhau, tính toánsự biến đổi hình dạng và điểm tương đồng giữa hình dạng của các đối tượng.
Hình 1.10 Phân tích hình dạng nhờ OpenCV
1.2.4 Các bước setup OpenCVBước 1: Đầu tiên bạn truy cập trang OpenCV download và tải
bản OpenCV tương thích với nền tảng đang sử dụng
Bước 2: Giải nén file vừa tải vào thư mục bạn mong muốn.Setup OpenCV cho Python
Bước 1: Ở file opencv vừa giải nén thành công và điều hướng tới build > python > 2.7 > x86
Hình 1.11 Điều hướng theo build -> python -> 2,7 -> x86 Bước 2: Tại đây bạn sẽ thấy file cv2.pyd Tiếp theo mở thưmục gốc Python27 > Lib > site-packages và copy paste filecv2.pyd tại đây
Trang 21Hình 1.12 Copy paste file cv2.pyd vào thư mục gốc của
Python Để sử dụng OpenCV cho python, bạn cần dùng numpy
Như vậy bạn cần cài đặt pip bằng cách tải tệp get-pip.py sau đó mới cài đặt được numpy
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ
THỐNG
Trang 222.1 TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH PYTHON2.1.1 Python là gì?
Python là ngôn ngữ lập trình máy tính bậc cao thường được sử dụng để xây dựng trang web và phần mềm, tự động hóa các tác vụ và tiến hành phân tích dữ liệu Python là ngôn ngữ có mục đích chung, nghĩa là nó có thể được sử dụng để tạo nhiều chương trình khác nhau và không chuyên biệt cho bất kỳ vấn đề cụ thể nào
Hình 2.1 Python là ngôn ngữ lập trình bậc caoTính linh hoạt này, cùng với sự thân thiện với người mới bắt đầu, đã khiến nó trở thành một trong những ngôn ngữ lập trình được sử dụng nhiều nhất hiện nay Một cuộc khảo sát được thực hiện bởi công ty phân tích ngành RedMonk cho thấy rằng đây là ngôn ngữ lập trình phổ biến thứ hai đối với các nhà phát triển vào năm 2021
2.1.2 Ứng dụng của Python
Python thường được sử dụng để phát triển trang web và phần mềm, tự động hóa tác vụ, phân tích dữ liệu và trực quan hóa dữ
Trang 23liệu Vì tương đối dễ học, Python đã được nhiều người không phải là lập trình viên như kế toán và nhà khoa học áp dụng cho nhiều công việc hàng ngày, chẳng hạn như tổ chức tài chính.
Phân tích dữ liệu và học máy
Python đã trở thành một yếu tố chính trong khoa học dữ liệu, cho phép các nhà phân tích dữ liệu và các chuyên gia khác sử dụng ngôn ngữ này để thực hiện các phép tính thống kê phức tạp, tạo trực quan hóa dữ liệu, xây dựng thuật toán học máy, thaotác và phân tích dữ liệu cũng như hoàn thành các nhiệm vụ khác liên quan đến dữ liệu Python có thể xây dựng nhiều dạng trực quan hóa dữ liệu khác nhau, chẳng hạn như biểu đồ đường và thanh, biểu đồ hình tròn, biểu đồ 3D Python cũng có một số thư viện cho phép các lập trình viên viết chương trình để phân tích dữ liệu và học máy nhanh hơn và hiệu quả hơn, như TensorFlow và Keras
Hình 2.2 Python trong phân tích dữ liệu
Phát triển web
Python thường được sử dụng để phát triển back-end của trang
Trang 24web hoặc ứng dụng—những phần mà người dùng không nhìn thấy Vai trò của Python trong phát triển web có thể bao gồm gửi dữ liệu đến và đi từ máy chủ, xử lý dữ liệu và giao tiếp với cơ sởdữ liệu, định tuyến URL và đảm bảo tính bảo mật Python cung cấp một số khuôn khổ để phát triển web Những cái thường đượcsử dụng bao gồm Django và Flask Một số công việc phát triển web sử dụng Python bao gồm kỹ sư phụ trợ, nhà phát triển Python, kỹ sư phần mềm và kỹ sư DevOps.
Hình 2.3 Python có thể giúp chúng ta phát triển xây dựng các
trang web
Tự động hoá và phát triển phần mềm
Nếu bạn thấy mình thực hiện một nhiệm vụ lặp đi lặp lại, bạn có thể làm việc hiệu quả hơn bằng cách tự động hóa nó bằng Python Quá trình viết code được sử dụng để xây dựng các quy trình tự động này được gọi là viết script Trong thế giới mã hóa, tự động hóa có thể được sử dụng để kiểm tra lỗi trên nhiều tệp, chuyển đổi tệp, thực hiện phép toán đơn giản và loại bỏ các bản sao trong dữ liệu