Python thay đổi kích thước hình ảnh rgb

Python PIL. Hình ảnh. phương pháp thay đổi kích thước ()

Cải thiện bài viết

Lưu bài viết

Thích bài viết

  • Độ khó. Trung bình
  • Cập nhật lần cuối. 17 tháng 6 năm 2021

  • Đọc
  • Bàn luận
  • khóa học
  • Luyện tập
  • Băng hình
  • Cải thiện bài viết

    Lưu bài viết

    PIL là Thư viện hình ảnh Python cung cấp cho trình thông dịch python khả năng chỉnh sửa hình ảnh. Mô-đun Hình ảnh cung cấp một lớp có cùng tên được sử dụng để thể hiện hình ảnh PIL. Mô-đun này cũng cung cấp một số chức năng xuất xưởng, bao gồm chức năng tải hình ảnh từ tệp và tạo hình ảnh mới.
    Hình ảnh. resize() Trả về một bản sao đã thay đổi kích thước của hình ảnh này.
     

    Cú pháp. Hình ảnh. resize(size, resample=0) 
    Tham số.
    size – Kích thước được yêu cầu tính bằng pixel, dưới dạng 2 bộ. (chiều rộng, chiều cao).
    lấy mẫu lại – Bộ lọc lấy mẫu lại tùy chọn. Đây có thể là một trong PIL. Hình ảnh. NEAREST (sử dụng hàng xóm gần nhất), PIL. Hình ảnh. BILINEAR (nội suy tuyến tính), PIL. Hình ảnh. BICUBIC (nội suy spline khối), hoặc PIL. Hình ảnh. LANCZOS (bộ lọc lấy mẫu xuống chất lượng cao). Nếu bỏ qua, hoặc nếu hình ảnh có chế độ “1” hoặc “P”, nó được đặt PIL. Hình ảnh. GẦN NHẤT.
    Loại trả về. Một đối tượng hình ảnh.
     

    Hình ảnh được sử dụng.
     

    Python thay đổi kích thước hình ảnh rgb

     

    Python3




    # Importing Image class from PIL module

    from PILimport Image

     

    # Opens a image in RGB mode

    im= Image.openfrom0from1from2

     

    from3

    from4

    from5= from7

     

    from8

    from9= PIL1

    PIL2______7 PIL4PIL5 PIL6

    PIL7= PIL9

    import0__= import2 import3 PIL4PIL5 PIL6

     

    import7

    import8

    import9= Image1

    Image2= Image4Image5 Image6 _______45 from2

    import9= # Opens a image in RGB mode1

    # Opens a image in RGB mode2

    # Opens a image in RGB mode3

    Đầu ra.
     

    Python thay đổi kích thước hình ảnh rgb

    Một ví dụ khác. Ở đây chúng tôi sử dụng giá trị newsize khác nhau.
     

    Python3




    # Importing Image class from PIL module

    from PILimport Image

     

    # Opens a image in RGB mode

    im= Image.openfrom0from1from2

     

    from3

    from4

    from5= from7

     

    from8

    from9= =5

    PIL2______7 PIL4PIL5 PIL1

    PIL7______7 Image.3

    import0__= import2 import3 PIL4PIL5 PIL1

     

    import7

    import8

    import9= Image1

    Image2= Image4____99Image6open9from2

    import9= # Opens a image in RGB mode1

    # Opens a image in RGB mode2

    # Opens a image in RGB mode3

    Đầu ra.
     

    Python thay đổi kích thước hình ảnh rgb

     


    Ghi chú cá nhân của tôi arrow_drop_up

    Tiết kiệm

    Vui lòng Đăng nhập để nhận xét.

    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 khử ả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. Sau đó lưu lại và tham khảo thêm nhé

    Các thuật toán xử lý ảnh cổ điển

    1, Xử lý ảnh cấu hình học (Morphological Image Processing)

    Xử lý hình ảnh hình thái bao gồm các phép toán phi tuyến tính (phi tuyến tính) tác động đến hình dạng hoặc hình thái của máy ả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 các 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 pixel thứ tự. 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 (phần tử cấu trúc) đặ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. Cấu trúc phần tử là một trận đấu 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)

    • Relable more pixel into thegiới hạn của các đối tượng trong một hình ảnh
    • Có thể loại bỏ các pixel khỏi ranh giới đối tượng bằng cách loại bỏ các điểm ảnh

    Số lượng pixel bị xóa hoặc thêm vào ảnh gốc phụ thuộc vào kích thước của cấu trúc phần tử

    Python thay đổi kích thước hình ảnh rgb
    Nguồn. sao Hải vương. ai

    2. Xử lý cấu 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à chi tiết. Hiệu ứng hình ảnh của kỹ thuật Gaussian tương tự như công 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 định 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

    Python thay đổi kích thước hình ảnh rgb
    Nguồn. sao Hải vương. ai

    Trong thực tế, có thể tận hưởng đặc tính ứng dụng có thể phân tách Gaussian blur để chia quá trình thành 2 lần. Lần đầu tiên, nhân một chiều (nhân hệ điều hành) được sử dụng để làm mờ hình ảnh chỉ theo hướng ngang hoặc dọc. Lần thứ hai, kernel một chiều tương tự được sử dụng để làm mờ theo hướng còn lại. Kết quả thu được là kernel hai chiều. Dưới đây là một ví dụ trực quan để hiểu tác động của bộ lọc Gaussian đối với hình ảnh

    Python thay đổi kích thước hình ảnh rgb
    Nguồn. sao Hải vương. ai

    Có thể thấy, bộ lọc Gaussian là bộ lọc thông tin thấp, tức là làm suy yếu các tần số cao. Nó thường được sử dụng khi phát hiện

    3. Biến đổi Fourier trong xử lý ảnh

    Biến đổi Fourier chia ả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 bộ lọc hình ảnh

    Một cấu hình bao gồm ba yếu tố

    • Độ lớn – liên quan đến độ tương phản
    • Tần số không gian – liên quan đến độ sáng
    • Pha – liên quan đến thông tin màu

    Hình ảnh trong tần số miền như sau

    Python thay đổi kích thước hình ảnh rgb
    Nguồn. sao Hải vương. ai

    Công thức cho phép biến đổi Fourier rời 2D is

    Python thay đổi kích thước hình ảnh rgb
    Nguồn. sao Hải vương. ai

    Trong công thức trên, f (x, y) biểu thị hình ảnh

    Biến đổi Fourier nghịch đảo cho phép biến đổi trở lại hình ảnh. Công thức cho phép biến Fourier rời nghịch đảo 2D là

    Python thay đổi kích thước hình ảnh rgb
    Nguồn. sao Hải vương. ai

    4. Phát hiện gần trong xử lý ảnh

    Phát hiện gần đây là một kỹ thuật xử lý hình ảnh để tìm ranh giới của các đối tượng trong hình ảnh. Nó hoạt động bằng cách phát hiện những điểm không liên tục về độ sáng. Thuật toán này có thể phản ứng nhanh chóng nếu phát hiện một số nhiễu trong ảnh đồng thời phát hiện các biến có thể của mức xám. Các cận được định nghĩa là cực đại cục bộ của gradient

    Thuật toán phát hiện gần biến nhất là thuật toán phát hiện gần sobel. Toán tử phát hiện Sobel được tạo thành từ các hạt nhân chập 3 * 3. Một nhân đơn giản Gx và một nhân xoay 90 độ Gy. Các phép đo riêng biệt được thực hiện bằng cách áp dụng cả hai kernel riêng biệt vào hình ảnh

    Python thay đổi kích thước hình ảnh rgb
    Python thay đổi kích thước hình ảnh rgb
    Nguồn. sao Hải vương. ai

    * biểu tượng cho phép tính toán chớp xử lý tín hiệu 2D

    Kết quả chuyển màu có thể được tính như sau

    Python thay đổi kích thước hình ảnh rgb
    Python thay đổi kích thước hình ảnh rgb
    Nguồn. sao Hải vương. ai

    5. Xử lý cấu hình Wavelet

    Biến đổi Fourier chỉ giới hạn ở tần số, trong khi đó Wavelet xem xét cả thời gian và tần số. This changeable to phù hợp với các tín hiệu không cố định

    Cạnh tranh là một trong những phần quan trọng của hình ảnh, tuy nhiên, khi áp dụng các bộ lọc truyền thống, nhiễu bị loại bỏ nhưng hình ảnh bị mờ. Biến đổi Wavelet được thiết kế để có độ phân giải tần số tốt cho các thành phần tần số thấp. Dưới đây là ví dụ về biến đổi wavelet 2D

    Python thay đổi kích thước hình ảnh rgb
    Nguồn. sao Hải vương. ai

    Các công cụ xử lý hình ảnh

    1. OpenCV

    OpenCV là viết tắt của Open Source Computer Vision Library. Thư viện này bao gồm khoảng hơn 2000 thuật toán tối ưu hóa hữu ích cho thị giác máy tính và học máy. Có một số cách bạn có thể sử dụng OpenCV trong quá trình xử lý hình ảnh như sau

    • Chuyển đổi hình ảnh từ không gian màu này sang không gian màu khác, chẳng hạn như giữa BGR và HSV, BGR và màu xám, v. v
    • Thực hiện ngưỡng trên hình ảnh, như, ngưỡng đơn giản, ngưỡng thích ứng, v. v
    • Làm mịn hình ảnh, như, áp dụng các bộ lọc tùy chỉnh chỉnh sửa cho hình ảnh và làm mờ hình ảnh
    • Thực hiện các quyền cấu hình toán học trên ảnh
    • Cấu hình kim tự tháp
    • Trích xuất tiền cảnh từ hình ảnh bằng thuật toán GrabCut
    • Phân vùng ảnh sử dụng thuật toán lưu vực

    2. Hình ảnh Scikit

    Scikit là một thư viện mã nguồn mở được sử dụng để xử lý hình ảnh tiền xử lý. Nó sử dụng máy học 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à

    • Để triển khai các hoạt động tạo ngưỡng, hãy sử dụng phương thức try_all_threshold () trên hình ảnh. Nó sẽ sử dụng bảy thuật toán toàn cầu. This is in the filter module module
    • Để thực hiện phát hiện gần, hãy sử dụng phương thức sobel () trong bộ lọc mô-đun. Phương pháp này yêu cầu bắt đầu cấu hình ảnh thang độ xám 2D, vì vậy chúng ta cần chuyển đổi cấu hình ảnh sang thang độ xám
    • Để thực hiện làm căng gaussian, hãy sử dụng phương thức gaussian () trong bộ lọc mô-đun
    • Để áp dụng cân bằng biểu đồ, hãy sử dụng mô-đun phơi sáng
    • Để áp dụng cân bằng biểu đồ bình thường cho ảnh gốc, hãy sử dụng phương thức equalize_hist ()
    • Để áp dụng cân bằng thích ứng, hãy sử dụng phương thức equalize_adapthist ()
    • Để xoay ảnh, hãy sử dụng hàm xoay () trong biến mô đun biến đổi
    • Để thay đổi Tỷ lệ cấu hình ảnh, hãy sử dụng hàm rescale () từ biến mô-đun biến đổi
    • Để áp dụng các phép toán cấu hình thái, hãy sử dụng hàm binary_e wear() và binary_dilation() trong mô-đun cấu hình học

    3. GỐI / GỐI

    PIL là viết tắt của Thư viện hình ảnh Python. Đâ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. Vui lòng xem qua một số thao tác đó

    • Để tải xuống một hình ảnh, hãy sử dụng phương thức mở ()
    • Để hiển thị một hình ảnh, hãy sử dụng phương thức hiển thị ()
    • Để biết định dạng tệp, hãy sử dụng thuộc tính định dạng
    • Để biết kích thước của hình ảnh, hãy sử dụng kích thước thuộc tính
    • To know thuộc tính chế độ sử dụng định dạng pixel
    • Để lưu tệp hình ảnh sau khi xử lý, hãy sử dụng phương thức lưu (). Gối lưu tệp hình ảnh ở định dạng png
    • Để thay đổi kích thước hình ảnh, hãy sử dụng phương thức thay đổi kích thước () nhận hai đối số là chiều rộng và chiều cao
    • Để cắt ảnh, hãy sử dụng phương thức crop () lấy một số đối số dưới dạng một bộ hộp xác định vị trí và kích thước của vùng được cắt
    • Để xoay ảnh, hãy sử dụng phương thức xoay () nhận một đối số là số nguyên hoặc số có thể thực hiện được.
    • Để hiển thị hình ảnh, hãy sử dụng phương thức biến đổi phương thức () lấy một số đối số trong các đối số sau. Hình ảnh. FLIP_LEFT_RIGHT, Hình ảnh. FLIP_TOP_BOTTOM, Hình ảnh. ROTATE_90, Hình ảnh. ROTATE_180, Hình ảnh. XOAY_270

    4. NumPy

    Vớ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ư 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. Image color is an array has 3 dimensions. 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 xuống trong một biến có tên test_img bằng cách sử dụng imread)

    • Để đặt ảnh theo chiều dọc, hãy sử dụng np. lật ngược (test_img)
    • Để đặt ảnh theo hướng ngang, hãy sử dụng np. fliplr (kiểm tra_img)
    • Để đảo ngược hình ảnh, hãy sử dụng test_img [:: – 1] (hình ảnh sau khi lưu trữ dưới dạng mảng numpy được đặt tên là ).
    • Để thêm bộ lọc vào hình ảnh, bạn có thể làm như sau

    Ví dụ. np. where (test_img> 150, 255, 0), tức là trong cấu hình này nếu 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

    You can also show the other channel RGB. Nó có thể được thực hiện bằng cách sử dụng đoạn mã này

    Để có kênh màu đỏ, hãy thực hiện test_img [. ,. , 0], để 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. đại ca

    Đâ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ó