Hướng dẫn python tiff image processing - python xử lý hình ảnh tiff
Xử lý hình ảnh là kỹ thuật cốt lõi của thị giác máy tính, giúp phát triển nhiều ứng dụng thực tế như robot, ô tô tự lái và camera thông minh, phát hiện đối tượng,…. Xử lý ảnh cho phép chuyển đổi và thao tác trên hàng nghìn ảnh cùng lúc, từ đó trích xuất những thông tin chi tiết và quan trọng. Bài viết này sẽ cùng bạn khám phá về xử lý hình ảnh bằng Python: từ thuật toán, công cụ đến phương pháp hữu dụng. Cùng lưu lại và tham khảo thêm nhé! Show
1, Xử lý ảnh hình thái học (Morphological Image Processing)Morphological Image Processing gồm các phép toán phi tuyến tính (non-linear) tác động đến hình dạng hoặc hình thái của ảnh nhị phân. Thuật toán này loại bỏ các điểm nhiễu và làm mịn hình ảnh. Xử lý hình thái học cũng có thể được mở rộng cho hình ảnh thang độ xám. Nó bao gồm những thao tác phi tuyến tính liên quan đến cấu trúc của các vị trí trong ảnh, phụ thuộc vào thứ tự pixel. Kỹ thuật này phân tích một hình ảnh bằng cách sử dụng phần tử cấu trúc (structuring element) đặt ở những vị trí khác nhau trong hình ảnh và được so sánh với các pixel lân cận tương ứng. Phần tử cấu trúc là một ma trận nhỏ với các giá trị 0 và 1. Hai thao tác cơ bản của quá trình xử lý hình thái học là Dilation (phép giãn) và Erosion (phép co)
Số lượng pixel được xóa hoặc thêm vào hình ảnh gốc phụ thuộc vào kích thước của phần tử cấu trúc. Nguồn: neptune.ai2. Xử lý hình ảnh GaussianGaussian blur (làm mờ/mịn Gaussian) là kết quả của việc làm mờ hình ảnh bởi một hàm Gaussian. Kỹ thuật này được sử dụng để giảm nhiễu ảnh và các chi tiết. Hiệu ứng hình ảnh của kỹ thuật Gaussian tương tự như việc nhìn một hình ảnh qua màn hình mờ. Trong thị giác máy tính, Gaussian được sử dụng để tăng cường hình ảnh ở các quy mô khác nhau hoặc như một kỹ thuật tăng cường dữ liệu trong học sâu. Hàm gaussian cơ bản được biểu diễn như sau: Nguồn: neptune.ai2. Xử lý hình ảnh Gaussian 2. Xử lý hình ảnh Gaussian Gaussian blur (làm mờ/mịn Gaussian) là kết quả của việc làm mờ hình ảnh bởi một hàm Gaussian.Kỹ thuật này được sử dụng để giảm nhiễu ảnh và các chi tiết. Hiệu ứng hình ảnh của kỹ thuật Gaussian tương tự như việc nhìn một hình ảnh qua màn hình mờ. Trong thị giác máy tính, Gaussian được sử dụng để tăng cường hình ảnh ở các quy mô khác nhau hoặc như một kỹ thuật tăng cường dữ liệu trong học sâu. Hàm gaussian cơ bản được biểu diễn như sau:
Phép biến đổi Fourier chia hình ảnh thành các thành phần sin và cosin. Nó có nhiều ứng dụng như tái tạo hình ảnh, nén hình ảnh hoặc lọc hình ảnh. Nguồn: neptune.ai2. Xử lý hình ảnh Gaussian Nguồn: neptune.ai2. Xử lý hình ảnh Gaussian Gaussian blur (làm mờ/mịn Gaussian) là kết quả của việc làm mờ hình ảnh bởi một hàm Gaussian. Nguồn: neptune.ai2. Xử lý hình ảnh GaussianGaussian blur (làm mờ/mịn Gaussian) là kết quả của việc làm mờ hình ảnh bởi một hàm Gaussian. Kỹ thuật này được sử dụng để giảm nhiễu ảnh và các chi tiết. Hiệu ứng hình ảnh của kỹ thuật Gaussian tương tự như việc nhìn một hình ảnh qua màn hình mờ. Trong thị giác máy tính, Gaussian được sử dụng để tăng cường hình ảnh ở các quy mô khác nhau hoặc như một kỹ thuật tăng cường dữ liệu trong học sâu. 2. Xử lý hình ảnh Gaussian Gaussian blur (làm mờ/mịn Gaussian) là kết quả của việc làm mờ hình ảnh bởi một hàm Gaussian. Nguồn: neptune.ai2. Xử lý hình ảnh GaussianGaussian blur (làm mờ/mịn Gaussian) là kết quả của việc làm mờ hình ảnh bởi một hàm Gaussian. Kỹ thuật này được sử dụng để giảm nhiễu ảnh và các chi tiết. Hiệu ứng hình ảnh của kỹ thuật Gaussian tương tự như việc nhìn một hình ảnh qua màn hình mờ. Trong thị giác máy tính, Gaussian được sử dụng để tăng cường hình ảnh ở các quy mô khác nhau hoặc như một kỹ thuật tăng cường dữ liệu trong học sâu. Nguồn: neptune.ai2. Xử lý hình ảnh GaussianGaussian blur (làm mờ/mịn Gaussian) là kết quả của việc làm mờ hình ảnh bởi một hàm Gaussian.Kỹ thuật này được sử dụng để giảm nhiễu ảnh và các chi tiết. Hiệu ứng hình ảnh của kỹ thuật Gaussian tương tự như việc nhìn một hình ảnh qua màn hình mờ. Trong thị giác máy tính, Gaussian được sử dụng để tăng cường hình ảnh ở các quy mô khác nhau hoặc như một kỹ thuật tăng cường dữ liệu trong học sâu.
2. Hình ảnh ScikitScikit là một thư viện mã nguồn mở được sử dụng để tiền xử lý hình ảnh. Nó sử dụng học máy với các chức năng tích hợp và có thể thực hiện các hoạt động phức tạp trên hình ảnh chỉ với một vài chức năng. Scikit hoạt động với các mảng numpy và là một thư viện khá đơn giản ngay cả đối với những người mới làm quen với python. Một số thao tác có thể được thực hiện bằng hình ảnh scikit là:
3. PIL / PILLOWPIL là viết tắt của Python Image Library. Đây là một trong những thư viện mạnh mẽ, hỗ trợ một loạt các định dạng hình ảnh như PPM, JPEG, TIFF, GIF, PNG và BMP. Nó có thể giúp bạn thực hiện một số thao tác trên hình ảnh như xoay, thay đổi kích thước, cắt xén, chia tỷ lệ màu xám, v.v. Hãy xem qua một số thao tác đó
4. NumPyVới thư viện này, bạn cũng có thể thực hiện các kỹ thuật hình ảnh đơn giản, chẳng hạn như lật hình ảnh, trích xuất các tính năng và phân tích chúng. Hình ảnh có thể được biểu diễn bằng các mảng đa chiều và do đó kiểu của chúng là NdArrays. Hình ảnh màu là một mảng có 3 chiều. Bằng cách cắt mảng đa chiều, các kênh RGB có thể được tách ra. Dưới đây là một số thao tác có thể được thực hiện bằng NumPy trên hình ảnh (hình ảnh được tải trong một biến có tên test_img bằng cách sử dụng imread).
Ví dụ: np.where (test_img> 150, 255, 0), tức là trong hình này nếu tìm thấy bất kỳ thứ gì bằng 150, thì hãy thay thế nó bằng 255, nếu không thì 0. Bạn cũng có thể hiển thị các kênh RGB riêng biệt. Nó có thể được thực hiện bằng cách sử dụng đoạn mã này: Để có được kênh màu đỏ, hãy thực hiện test_img [:,:, 0], để có được kênh màu xanh lá cây, hãy thực hiện test_img [:,:, 1] và để có được kênh màu xanh lam, hãy thực hiện test_img [:,:, 2]. 5. MahotasĐây là một thư viện xử lý hình ảnh và thị giác máy tính và có hơn 100 chức năng. Nhiều thuật toán của nó được thực hiện bằng C ++. Bản thân Mahotas là một mô-đun độc lập, tức là nó có phụ thuộc tối thiểu. Hiện tại, Mahotas chỉ phụ thuộc vào trình biên dịch C ++ để tính toán số, không cần mô-đun NumPy, trình biên dịch thực hiện tất cả công việc của nó. Dưới đây là tên của một số thuật toán đáng chú ý có sẵn trong Mahotas:
Hãy xem xét một số thao tác có thể được thực hiện bằng Mahotas:
|