Hướng dẫn real time image processing python - Python xử lý hình ảnh thời gian thực

Hình ảnh xác định thế giới, mỗi hình ảnh có câu chuyện riêng, nó chứa rất nhiều thông tin quan trọng có thể hữu ích theo nhiều cách. Thông tin này có thể thu được với sự trợ giúp của kỹ thuật được gọi là xử lý hình ảnh.Image Processing.

Đây là phần cốt lõi của tầm nhìn máy tính đóng vai trò quan trọng trong nhiều ví dụ trong thế giới thực như robot, xe tự lái và phát hiện đối tượng. Xử lý hình ảnh cho phép chúng ta chuyển đổi và thao tác hàng ngàn hình ảnh tại một thời điểm và trích xuất những hiểu biết hữu ích từ chúng. Nó có một loạt các ứng dụng trong hầu hết các lĩnh vực. & NBSP;

Python là một trong những ngôn ngữ lập trình được sử dụng rộng rãi cho mục đích này. Các thư viện và công cụ tuyệt vời của nó giúp đạt được nhiệm vụ xử lý hình ảnh rất hiệu quả. & NBSP;

Thông qua bài viết này, bạn sẽ tìm hiểu về các thuật toán, kỹ thuật và công cụ cổ điển để xử lý hình ảnh và có được đầu ra mong muốn.

Hãy để vào nó!

Xử lý hình ảnh là gì?

Như tên nói, xử lý hình ảnh có nghĩa là xử lý hình ảnh và điều này có thể bao gồm nhiều kỹ thuật khác nhau cho đến khi chúng tôi đạt được mục tiêu của mình.

Đầu ra cuối cùng có thể ở dạng hình ảnh hoặc tính năng tương ứng của hình ảnh đó. Điều này có thể được sử dụng để phân tích và ra quyết định thêm.

Nhưng hình ảnh là gì?

Một hình ảnh có thể được biểu diễn dưới dạng hàm 2D F (x, y) trong đó x và y là tọa độ không gian. Biên độ của F ở một giá trị cụ thể của x, y được gọi là cường độ của một hình ảnh tại thời điểm đó. Nếu x, y và giá trị biên độ là hữu hạn thì chúng ta gọi nó là hình ảnh kỹ thuật số. Nó là một mảng các pixel được sắp xếp trong các cột và hàng. Pixels là các yếu tố của một hình ảnh chứa thông tin về cường độ và màu sắc. Một hình ảnh cũng có thể được biểu diễn trong 3D trong đó X, Y và Z trở thành tọa độ không gian. Pixels được sắp xếp dưới dạng ma trận. Đây được gọi là hình ảnh RGB.RGB image.

Có nhiều loại hình ảnh:

  • Hình ảnh RGB: Nó chứa ba lớp hình ảnh 2D, các lớp này là các kênh màu đỏ, xanh lá cây và xanh dương.
  • Hình ảnh thang độ Grays: Những hình ảnh này chứa các sắc thái của màu đen và trắng và chỉ chứa một kênh duy nhất.

Thuật toán xử lý hình ảnh cổ điển

1. Xử lý hình ảnh hình thái

Xử lý hình ảnh hình thái cố gắng loại bỏ sự không hoàn hảo khỏi hình ảnh nhị phân vì các vùng nhị phân được tạo ra bởi ngưỡng đơn giản có thể bị biến dạng bởi tiếng ồn. Nó cũng giúp làm mịn hình ảnh bằng cách sử dụng các hoạt động mở và đóng.

Hoạt động hình thái có thể được mở rộng cho hình ảnh thang độ xám. Nó bao gồm các hoạt động phi tuyến tính liên quan đến cấu trúc của các tính năng của một hình ảnh. Nó phụ thuộc vào thứ tự liên quan của pixel nhưng vào các giá trị số của chúng. Kỹ thuật này phân tích một hình ảnh bằng cách sử dụng một mẫu nhỏ được gọi là phần tử cấu trúc được đặt trên các vị trí khác nhau có thể trong hình ảnh và được so sánh với các pixel lân cận tương ứng. Một phần tử cấu trúc là một ma trận nhỏ với các giá trị 0 và 1.structuring element which is placed on different possible locations in the image and is compared with the corresponding neighbourhood pixels. A structuring element is a small matrix with 0 and 1 values.

Hãy cùng xem hai hoạt động cơ bản của xử lý hình ảnh hình thái, giãn nở và xói mòn:Dilation and Erosion:

  • hoạt động giãn nở pixel đến ranh giới của đối tượng trong một hình ảnhoperationadds pixels to the boundaries of the object in an image
  • Xói mòn hoạt động Xây dựng các pixel từ các ranh giới đối tượng. & nbsp;operationremoves the pixels from the object boundaries. 

Số lượng pixel được loại bỏ 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. & NBSP;

Tại thời điểm này, bạn có thể đang nghĩ rằng yếu tố cấu trúc là gì? Hãy để tôi giải thích:

Phần tử cấu trúc là một ma trận chỉ bao gồm 0 0 và 1 có thể có bất kỳ hình dạng và kích thước tùy ý nào. Nó được định vị tại tất cả các vị trí có thể trong hình ảnh và nó được so sánh với vùng lân cận tương ứng của pixel.

Phần tử cấu trúc hình vuông ‘A phù hợp với đối tượng chúng tôi muốn chọn, & nbsp;‘ B, giao với đối tượng và ‘C, nằm ngoài đối tượng.

Mẫu Zero-One xác định cấu hình của phần tử cấu trúc. Nó theo hình dạng của đối tượng chúng tôi muốn chọn. Trung tâm của phần tử cấu trúc xác định pixel đang được xử lý.

2. Xử lý hình ảnh Gaussian Gaussian Image Processing

Gaussian Blur còn được gọi là làm mịn Gaussian, là kết quả của việc làm mờ một hình ảnh bởi một chức năng Gaussian.image by a Gaussian function.

Nó được sử dụng để giảm nhiễu hình ảnh và giảm chi tiết. Hiệu ứng hình ảnh của kỹ thuật làm mờ này tương tự như nhìn vào một hình ảnh thông qua màn hình mờ. Đôi khi nó được sử dụng trong tầm nhìn máy tính để tăng cường hình ảnh ở các quy mô khác nhau hoặc như một kỹ thuật tăng dữ liệu trong học tập sâu.used to reduce image noise and reduce details. The visual effect of this blurring technique is similar to looking at an image through the translucent screen. It is sometimes used in computer vision for image enhancement at different scales or as a data augmentation technique in deep learning.

Hàm Gaussian cơ bản trông giống như:

Hướng dẫn real time image processing python - Python xử lý hình ảnh thời gian thực

Trong thực tế, tốt nhất là tận dụng thuộc tính tách biệt của Gaussian Blur bằng cách chia quy trình thành hai đường chuyền. Trong lần đầu tiên, một hạt nhân một chiều được sử dụng để làm mờ hình ảnh chỉ theo hướng ngang hoặc dọc. Trong lần thứ hai, cùng một hạt nhân một chiều được sử dụng để làm mờ theo hướng còn lại. Hiệu ứng kết quả cũng giống như kết hợp với một hạt nhân hai chiều trong một lần vượt qua. Hãy cùng xem một ví dụ để hiểu những bộ lọc Gaussian làm gì với một hình ảnh.

Nếu chúng ta có một bộ lọc thường được phân phối và khi nó được áp dụng cho một hình ảnh, kết quả sẽ như thế này:

Nguồn

Bạn có thể thấy rằng một số cạnh có ít chi tiết hơn. Bộ lọc đang cung cấp nhiều trọng lượng hơn cho các pixel ở trung tâm so với các pixel cách xa trung tâm. Các bộ lọc Gaussian là các bộ lọc thông thấp, tức là làm suy yếu các tần số cao. Nó thường được sử dụng trong phát hiện cạnh.

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

Biến đổi Fourier phá vỡ một hình ảnh thành các thành phần sin và cosine. & Nbsp;

Nó có nhiều ứng dụng như tái cấu trúc hình ảnh, nén hình ảnh hoặc lọc hình ảnh. & NBSP;

Vì chúng ta đang nói về hình ảnh, chúng ta sẽ xem xét chuyển đổi Fourier riêng biệt.

Hãy để xem xét một hình sin, nó bao gồm ba điều:

  • Độ lớn - liên quan đến độ tương phản & nbsp;
  • Tần số không gian - liên quan đến độ sáng
  • Giai đoạn - Liên quan đến thông tin màu sắc

Hình ảnh trong miền tần số trông như thế này:

Công thức cho biến đổi Fourier rời rạc 2D là:

Hướng dẫn real time image processing python - Python xử lý hình ảnh thời gian thực

Trong công thức trên, F (X, Y) biểu thị hình ảnh.

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

Hướng dẫn real time image processing python - Python xử lý hình ảnh thời gian thực

4. Phát hiện cạnh trong xử lý hình ảnh

Phát hiện cạnh là một kỹ thuật xử lý hình ảnh để tìm ra 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 sự không liên tục về độ sáng.

Điều này có thể rất có lợi trong việc trích xuất thông tin hữu ích từ hình ảnh vì hầu hết các thông tin hình dạng được đặt trong các cạnh. Phương pháp phát hiện cạnh cổ điển hoạt động bằng cách phát hiện sự không liên tục trong độ sáng. & NBSP;

Nó có thể nhanh chóng phản ứng nếu một số nhiễu được phát hiện trong hình ảnh trong khi phát hiện các biến thể của mức độ xám. Các cạnh được định nghĩa là cực đại cục bộ của gradient. & Nbsp;

Thuật toán phát hiện cạnh phổ biến nhất là thuật toán phát hiện cạnh Sobel. Toán tử phát hiện Sobel được tạo thành từ 3*3 hạt nhân. Một hạt nhân đơn giản và một hạt nhân xoay 90 độ. Các phép đo riêng biệt được thực hiện bằng cách áp dụng cả hai hạt nhân riêng cho hình ảnh.sobel edge detection algorithm. Sobel detection operator is made up of 3*3 convolutional kernels. A simple kernel Gx and a 90 degree rotated kernel Gy. Separate measurements are made by applying both the kernel separately to the image.

Và,

& nbsp;* biểu thị hoạt động tích chập xử lý tín hiệu 2D.

Kết quả gradient có thể được tính là:

5. Xử lý hình ảnh wavelet

Chúng tôi đã thấy một biến đổi Fourier nhưng nó chỉ giới hạn ở tần số. Các con sóng đưa cả thời gian và tần suất vào việc xem xét. Biến đổi này là apt cho các tín hiệu không cố định. & NBSP;

Chúng tôi biết rằng các cạnh là một trong những phần quan trọng của hình ảnh, trong khi áp dụng các bộ lọc truyền thống, nó đã được chú ý rằng nhiễu bị loại bỏ nhưng hình ảnh bị mờ. Biến đổi wavelet được thiết kế theo cách mà chúng ta 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ụ biến đổi wavelet 2D:

Xử lý hình ảnh bằng mạng lưới thần kinh

Mạng lưới thần kinh là các mạng nhiều lớp bao gồm các tế bào thần kinh hoặc các nút. Những tế bào thần kinh này là đơn vị xử lý cốt lõi của mạng lưới thần kinh. Chúng được thiết kế để hoạt động như bộ não của con người. Họ lấy dữ liệu, tự rèn luyện để nhận ra các mẫu trong dữ liệu và sau đó dự đoán đầu ra.

Một mạng lưới thần kinh cơ bản có ba lớp:

  1. Lớp đầu vào
  2. Lớp ẩn
  3. Lớp đầu ra

Các lớp đầu vào nhận được đầu vào, lớp đầu ra dự đoán đầu ra và các lớp ẩn thực hiện hầu hết các tính toán. Số lượng các lớp ẩn có thể được sửa đổi theo các yêu cầu. Cần có ít nhất một lớp ẩn trong một mạng lưới thần kinh.

Hoạt động cơ bản của mạng lưới thần kinh như sau:

  1. Hãy xem xét một hình ảnh, mỗi pixel được cho ăn làm đầu vào cho mỗi tế bào thần kinh của lớp đầu tiên, các tế bào thần kinh của một lớp được kết nối với các tế bào thần kinh của lớp tiếp theo thông qua các kênh. & NBSP;
  2. Mỗi kênh này được gán một giá trị số được gọi là Trọng lượng. & NBSP;
  3. Các đầu vào được nhân với các trọng số tương ứng và tổng trọng số này sau đó được cung cấp làm đầu vào cho các lớp ẩn. & NBSP;
  4. Đầu ra từ các lớp ẩn được truyền qua chức năng kích hoạt sẽ xác định xem tế bào thần kinh cụ thể có được kích hoạt hay không. & NBSP;
  5. Các tế bào thần kinh được kích hoạt truyền dữ liệu đến các lớp ẩn tiếp theo. Theo cách này, dữ liệu được truyền qua mạng, điều này được gọi là nhân giống về phía trước. & NBSP;
  6. Trong lớp đầu ra, tế bào thần kinh có giá trị cao nhất dự đoán đầu ra. Những đầu ra này là các giá trị xác suất.
  7. Đầu ra dự đoán được so sánh với đầu ra thực tế để có được lỗi. Thông tin này sau đó được chuyển trở lại thông qua mạng, quá trình này được gọi là backpropagation.
  8. Dựa trên thông tin này, các trọng số được điều chỉnh. Chu kỳ tuyên truyền tiến và lùi này được thực hiện nhiều lần trên nhiều đầu vào cho đến khi mạng dự đoán đầu ra chính xác trong hầu hết các trường hợp.
  9. Điều này kết thúc quá trình đào tạo của mạng lưới thần kinh. Thời gian để đào tạo mạng lưới thần kinh có thể cao trong một số trường hợp.

Trong hình ảnh dưới đây, AI, là tập hợp các đầu vào, WI, là trọng số, Z là đầu ra và G là bất kỳ chức năng kích hoạt nào.ai’s is the set of inputs, wi’s are the weights, z is the output and g is any activation function.

Hướng dẫn real time image processing python - Python xử lý hình ảnh thời gian thực
Hoạt động trong một tế bào thần kinh | Nguồn

Dưới đây là một số hướng dẫn để chuẩn bị dữ liệu để xử lý hình ảnh. & NBSP;

  • Nhiều dữ liệu cần được đưa vào mô hình để có được kết quả tốt hơn.
  • Bộ dữ liệu hình ảnh nên có chất lượng cao để có được thông tin rõ ràng hơn, nhưng để xử lý chúng, bạn có thể yêu cầu các mạng thần kinh sâu hơn.
  • Trong nhiều trường hợp, hình ảnh RGB được chuyển đổi thành thang độ xám trước khi cho chúng vào mạng lưới thần kinh.

Các loại mạng lưới thần kinh

Mạng lưới thần kinh tích chập

Một mạng lưới thần kinh tích chập, tóm tắt có ba lớp:

  • Lớp tích chập (Conv): Chúng là khối xây dựng cốt lõi của CNN, nó chịu trách nhiệm thực hiện hoạt động tích chập. Phần tử liên quan đến việc thực hiện thao tác chập trong lớp này được gọi là hạt nhân/bộ lọc (ma trận). Hạt nhân thực hiện các dịch chuyển ngang và dọc dựa trên tốc độ sải chân cho đến khi hình ảnh đầy đủ được đi qua. (CONV): They are the core building block of CNN, it is responsible for performing convolution operation.The element involved in carrying out the convolution operation in this layer is called the Kernel/Filter (matrix). The kernel makes horizontal and vertical shifts based on the stride rate until the full image is traversed.

Hướng dẫn real time image processing python - Python xử lý hình ảnh thời gian thực
Chuyển động của hạt nhân | Nguồn

  • Lớp gộp (POOL): Lớp này chịu trách nhiệm giảm kích thước. Nó giúp giảm sức mạnh tính toán cần thiết để xử lý dữ liệu. Có hai loại tổng hợp: gộp tối đa và gộp trung bình. Hợp đồng tối đa trả về giá trị tối đa từ khu vực được bao phủ bởi kernel trên hình ảnh. Tổng hợp trung bình trả về trung bình của tất cả các giá trị trong phần của hình ảnh được bao phủ bởi hạt nhân. (POOL): This layer is responsible for dimensionality reduction. It helps to decrease the computational power required to process the data. There are two types of Pooling: Max Pooling and Average Pooling. Max pooling returns the maximum value from the area covered by the kernel on the image. Average pooling returns the average of all the values in the part of the image covered by the kernel.

  • Lớp được kết nối đầy đủ (FC): Lớp kết nối hoàn toàn (FC) hoạt động trên đầu vào phẳng trong đó mỗi đầu vào được kết nối với tất cả các tế bào thần kinh. Nếu có, các lớp FC thường được tìm thấy vào cuối các kiến ​​trúc CNN. (FC): The fully connected layer (FC) operates on a flattened input where each input is connected to all neurons. If present, FC layers are usually found towards the end of CNN architectures.

Hướng dẫn real time image processing python - Python xử lý hình ảnh thời gian thực
Các lớp kết nối đầy đủ | Nguồn

CNN chủ yếu được sử dụng trong trích xuất các tính năng từ hình ảnh với sự trợ giúp của các lớp. CNN được sử dụng rộng rãi trong phân loại hình ảnh trong đó mỗi hình ảnh đầu vào được truyền qua chuỗi lớp để có được giá trị xác suất trong khoảng từ 0 đến 1.

Mạng lưới đối thủ thế hệ

Các mô hình tổng quát sử dụng một phương pháp học tập không giám sát (có hình ảnh nhưng không có nhãn nào được cung cấp). & NBSP;

Gans bao gồm hai máy phát điện mô hình và phân biệt đối xử. Máy phát điện học cách tạo hình ảnh giả & nbsp; Điều đó trông thực tế để đánh lừa người phân biệt đối xử và phân biệt đối xử học cách phân biệt giả với hình ảnh thật (nó cố gắng không bị lừa). & NBSP;Generator and Discriminator. Generator learns to make fake images  that look realistic so as to fool the discriminator and Discriminator learns to distinguish fake from real images (it tries not to get fooled). 

Trình tạo không được phép xem hình ảnh thật, vì vậy nó có thể tạo ra kết quả kém trong giai đoạn bắt đầu trong khi người phân biệt được phép xem hình ảnh thật nhưng chúng bị xáo trộn với những hình ảnh giả được tạo ra bởi máy phát điện mà nó phải phân loại là thật hoặc giả mạo. & nbsp;

Một số nhiễu được cung cấp làm đầu vào cho trình tạo để nó có thể tạo ra các ví dụ khác nhau mỗi lần chứ không phải cùng một hình ảnh. Dựa trên điểm số được dự đoán bởi người phân biệt, trình tạo cố gắng cải thiện kết quả của nó, sau một thời điểm nhất định, trình tạo sẽ có thể tạo ra hình ảnh khó phân biệt hơn, tại thời điểm đó, người dùng được hài lòng Kết quả của nó. Phân biệt đối xử cũng cải thiện bản thân vì nó ngày càng có nhiều hình ảnh thực tế hơn ở mỗi vòng từ trình tạo.

Các loại GAN phổ biến là Gans chập sâu (DCGAN), Gans có điều kiện (CGAN), Stylegans, Cyclegan, Discogan, Gaugan, v.v.

Gans là tuyệt vời cho việc tạo hình ảnh và thao tác. Một số ứng dụng của Gans bao gồm: lão hóa khuôn mặt, pha trộn ảnh, siêu phân giải, ảnh in, dịch quần áo. & NBSP;

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

1. OpenCV

Nó là viết tắt của Thư viện tầm nhìn máy tính nguồn mở. Thư viện này bao gồm khoảng 2000+ thuật toán được tối ưu hóa hữu ích cho tầm nhìn máy tính và học máy. Có một số cách bạn có thể sử dụng OpenCV trong xử lý hình ảnh, một số ít được liệt kê dưới đây:

  • Chuyển đổi hình ảnh từ không gian màu này sang không gian màu khác, như giữa BGR và HSV, BGR và Grey, v.v.
  • Thực hiện ngưỡng trên hình ảnh, như, ngưỡng đơn giản, ngưỡng thích ứng, vv & nbsp;
  • Làm mịn hình ảnh, như, áp dụng các bộ lọc tùy chỉnh cho hình ảnh và làm mờ hình ảnh.
  • Thực hiện các hoạt động hình thái trên hình ảnh.
  • Xây dựng hình ả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 đoạn hình ảnh sử dụng thuật toán lưu vực.

Tham khảo liên kết này để biết thêm chi tiết.

2. Hình ảnh Scikit

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

Nó hoạt động với các mảng numpy và là một NBSP khá đơn giản & NBSP; Thư viện ngay cả đối với những người mới đến Python. Một số hoạt động có thể được thực hiện bằng cách sử dụng hình ảnh scikit là:

  • Để thực hiện các hoạt động 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 ngưỡng toàn cầu. Đây là trong mô -đun bộ lọc.try_all_threshold() method on the image. It will use seven global thresholding algorithms. This is in the filters module.
  • Để thực hiện phương thức phát hiện cạnh Sobel () trong mô -đun bộ lọc. Phương pháp này yêu cầu hình ảnh thang độ xám 2D làm đầu vào, vì vậy chúng ta cần chuyển đổi hình ảnh thành thang độ xám.sobel() method in the filters module. This method requires a 2D grayscale image as an input, so we need to convert the image to grayscale.
  • Để thực hiện làm mịn Gaussian, sử dụng phương thức Gaussian () & nbsp; trong mô -đun bộ lọc.gaussian() method in the filters module.
  • Để áp dụng cân bằng biểu đồ, sử dụng mô -đun phơi sáng, để áp dụng cân bằng biểu đồ bình thường vào hình ảnh gốc, sử dụng phương thức cân bằng_hist () và để áp dụng cân bằng thích ứng, sử dụng phương thức Equime_adapthist ().exposure module, to apply normal histogram equalization to the original image, use equalize_hist() method and to apply adaptive equalization, use equalize_adapthist() method.
  • Để xoay hình ảnh, hãy sử dụng hàm xoay () trong mô -đun biến đổi.rotate() function under the transform module.
  • Để định dạng lại hàm sử dụng hình ảnh Rescale () từ mô -đun biến đổi.rescale() function from the transform module.
  • Để áp dụng các hoạt động hình thái, sử dụng hàm binary_erosion () và binary_dilation () theo mô -đun hình thái.binary_erosion() and binary_dilation() function under the morphology module.

3. Pil/Gối

PIL là viết tắt của Thư viện hình ảnh Python và Gối là Fork Fork thân thiện của Alex Clark và những người đóng góp. Nó là một trong những thư viện mạnh mẽ. Nó hỗ trợ một loạt các định dạng hình ảnh như PPM, JPEG, TIFF, GIF, PNG và BMP. & NBSP;Pillow is the friendly PIL fork by Alex Clark and Contributors. It’s one of the powerful libraries. It supports a wide range of image formats like PPM, JPEG, TIFF, GIF, PNG, and BMP. 

Nó có thể giúp bạn thực hiện một số hoạt động trên các hình ảnh như xoay, thay đổi kích thước, cắt xén, đánh bóng, v.v. Hãy để đi qua một số hoạt động & NBSP;

Để thực hiện các hoạt động thao tác, có một mô -đun trong thư viện này có tên là Image. & NBSP;Image. 

  • Để tải một hình ảnh, hãy sử dụng phương thức Open ().open() method.
  • Để hiển thị một phương thức sử dụng hình ảnh hiển thị ().show() method.
  • Để biết định dạng tệp, sử dụng thuộc tính định dạngformat attribute
  • Để biết kích thước của thuộc tính kích thước sử dụng hình ảnhsize attribute
  • Để biết về thuộc tính chế độ sử dụng định dạng pixel.mode attribute.
  • Để lưu tệp hình ảnh sau khi xử lý mong muốn, hãy sử dụng phương thức Save (). Gối lưu tệp hình ảnh ở định dạng PNG.save() method. Pillow saves the image file in png format.
  • Để thay đổi kích thước phương thức sử dụng hình ảnh Resize () lấy hai đối số là chiều rộng và chiều cao. resize() method that takes two arguments as width and height.
  • Để cắt hình ảnh, hãy sử dụng phương thức crop () lấy một đối số làm một bộ hộp xác định vị trí và kích thước của vùng bị cắt.crop() method that takes one argument as a box tuple that defines position and size of the cropped region.
  • Để xoay hình ảnh sử dụng phương thức xoay () lấy một đối số làm số nguyên hoặc số float biểu thị mức độ xoay.rotate() method that takes one argument as an integer or float number representing the degree of rotation.
  • Để lật phương thức sử dụng hình ảnh () có một đối số trong số các vấn đề sau: Image.flip_left_right, Image.flip_top_bottom, Image.Rotate_90, Image.Rotate_180, Image.Rotate_270. & NBSP; transform() method that take one argument among the following: Image.FLIP_LEFT_RIGHT, Image.FLIP_TOP_BOTTOM, Image.ROTATE_90, Image.ROTATE_180, Image.ROTATE_270. 

Cũng đọc

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ư lật hình ảnh, trích xuất các tính năng và phân tích chúng. & NBSP;

Hình ảnh có thể được biểu diễn bằng các mảng đa chiều numpy và vì vậy loại của chúng là ndarrays. Một hình ảnh màu là một mảng numpy với 3 chiều. Bằng cách cắt các mảng đa chiều, các kênh RGB có thể được tách ra. & NBSP;NdArrays. A color image is a numpy array with 3 dimensions. By slicing the multi-dimensional array the RGB channels can be separated. 

Dưới đây là một số hoạt động có thể được thực hiện bằng cách sử dụ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 IMREAD).test_img using imread).

  • Để lật hình ảnh theo hướng dọc, sử dụng NP.Flipud (test_img).np.flipud(test_img).
  • Để lật hình ảnh theo hướng ngang, hãy sử dụng np.fliplr (test_img).np.fliplr(test_img).
  • Để đảo ngược hình ảnh, hãy sử dụng test_img [::-1] & nbsp; (Hình ảnh sau khi lưu trữ nó dưới dạng mảng numpy được đặt tên là).test_img[::-1]  (the image after storing it as the numpy array is named as
    Hướng dẫn real time image processing python - Python xử lý hình ảnh thời gian thực

    Neetika Khandelwal

    Một kỹ sư khoa học máy tính tự động và nhiệt tình với các kỹ năng sau: C ++, Python, học máy, NLP và giải quyết các vấn đề trong thế giới thực. Tôi là một người học nhanh và đam mê học các công nghệ mới. Tôi có kinh nghiệm trong việc phát triển các bài viết kỹ thuật trong các lĩnh vực như Khoa học dữ liệu, C ++, Python.

    • Theo dõi tôi


    Đọc tiếp theo

    Theo dõi thử nghiệm ML: Nó là gì, tại sao nó quan trọng và cách thực hiện nó

    10 phút Đọc | Tác giả Jakub Czakon | Cập nhật ngày 14 tháng 7 năm 2021

    Hãy để tôi chia sẻ một câu chuyện mà tôi đã nghe quá nhiều lần.

    Chúng tôi đã phát triển một mô hình ML với nhóm của tôi, chúng tôi đã thực hiện rất nhiều thí nghiệm và nhận được kết quả đầy hứa hẹn

    Thật không may, chúng tôi không thể nói chính xác những gì hoạt động tốt nhất vì chúng tôi quên lưu một số tham số mô hình và phiên bản dữ liệu

    Sau một vài tuần, chúng tôi thậm chí còn chắc chắn những gì chúng tôi thực sự đã thử và chúng tôi cần phải chạy lại khá nhiều thứ

    - Nhà nghiên cứu ML không may.

    Và sự thật là, khi bạn phát triển các mô hình ML, bạn sẽ chạy rất nhiều thí nghiệm.

    Những thí nghiệm đó có thể:

    • Sử dụng các mô hình khác nhau và mô hình hyperparameter
    • sử dụng dữ liệu đào tạo hoặc đánh giá khác nhau, & NBSP;
    • Chạy mã khác nhau (bao gồm cả thay đổi nhỏ mà bạn muốn kiểm tra nhanh chóng)
    • Chạy cùng một mã trong một môi trường khác (không biết phiên bản pytorch hoặc tenorflow nào đã được cài đặt)

    Và kết quả là, họ có thể tạo ra các số liệu đánh giá hoàn toàn khác nhau. & NBSP;

    Theo dõi tất cả thông tin đó có thể nhanh chóng trở nên thực sự khó khăn. Đặc biệt nếu bạn muốn tổ chức và so sánh các thử nghiệm đó và cảm thấy tự tin rằng bạn biết thiết lập nào đã tạo ra kết quả tốt nhất. & NBSP; & NBSP;

    Đây là nơi theo dõi thử nghiệm ML đến. & NBSP;

    Tiếp tục đọc ->


    Python có tốt cho xử lý hình ảnh không?

    Python là một trong những ngôn ngữ lập trình được sử dụng rộng rãi cho mục đích này.Các thư viện và công cụ tuyệt vời của nó giúp đạt được nhiệm vụ xử lý hình ảnh rất hiệu quả.Its amazing libraries and tools help in achieving the task of image processing very efficiently.

    Là xử lý hình ảnh thời gian thực?

    Kết quả xử lý hình ảnh có thể được đưa ra cho quá trình ngay cả trong bối cảnh thời gian thực mà không có bất kỳ sự chậm trễ nào, e., e.

    Thư viện Python nào là tốt nhất để xử lý hình ảnh?

    Top 8 Thư viện Python xử lý hình ảnh được sử dụng trong học máy..
    OpenCV.Nguồn: OpenCV.....
    Hình ảnh scikit.Nguồn: Hình ảnh Sci-kit.....
    Scipy.Nguồn: Scipy.....
    Gối/pil.PIL (Thư viện hình ảnh Python) là một thư viện nguồn mở cho các tác vụ xử lý hình ảnh yêu cầu ngôn ngữ lập trình Python.....
    Numpy.....
    Mahotas.....
    Đơn giản.....
    Pgmagick..

    Tensorflow có tốt để xử lý hình ảnh không?

    TensorFlow tổng hợp nhiều thuật toán và mô hình khác nhau với nhau, cho phép người dùng triển khai các mạng thần kinh sâu để sử dụng trong các tác vụ như nhận dạng/phân loại hình ảnh và xử lý ngôn ngữ tự nhiên.