Hướng dẫn create a binary image in python - tạo một hình ảnh nhị phân trong python

Tôi đã xây dựng hình ảnh của mình với cv2.thresh_binary và chức năngcv2.THRESH_BINARY and the function

Show

ret, im_thresh = cv2.threshold (gray_image, 40, 255, cv2.thresh_binary)

Nhưng màu trắng phải là 1 để làm việc với chương trình của tôi.

Để giúp tôi đã thực hiện:

height = int(np.size(im_thresh, 0))
width = int(np.size(im_thresh, 1))

for x in range(height):
    for y in range(width):
        if im_thresh[x,y]==255:
            im_thresh[x,y] = 1

Câu hỏi của tôi: Có cách nào để làm điều này nhanh hơn trong Python không?Have any way to do this faster in python?

Hướng dẫn create a binary image in python - tạo một hình ảnh nhị phân trong python

Khi được hỏi ngày 12 tháng 5 năm 2017 lúc 20:10May 12, 2017 at 20:10

Hãy thử sử dụng chỉ số boolean để có được và đặt các giá trị của các mảng, tránh được vòng lặp lồng nhau.

import numpy as np
from numpy import random

# Generating an image of values between 1 and 255. 
im_thresh = random.randint(1,256, (64,64))

# Set anything less than 255 to 0. Unnecessary if cv2 does this during threshold. 
# Must go before the operation below in order not to set all values to 0. 
im_thresh[im_thresh<255] = 0

# Set all values at indices where the array equals 255 to 1.
im_thresh[im_thresh==255] = 1

Đã trả lời ngày 12 tháng 5 năm 2017 lúc 21:07May 12, 2017 at 21:07

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

Lưu bài viết

  • Đọc
  • Bàn luận
  • Cải thiện bài viết

    Lưu bài viết

    Đọc

    Bàn luậnOpenCV. Make sure you have installed the library into your Python. For steps for installing OpenCV refers to this article: Set up Opencv with anaconda environment

    Approach:

    1. Trong bài viết này, chúng tôi sẽ chuyển đổi hình ảnh thành dạng nhị phân của nó. Một hình ảnh nhị phân là một hình ảnh đơn sắc bao gồm các pixel có thể có một trong hai màu chính xác, thường là đen và trắng. Hình ảnh nhị phân cũng được gọi là cấp độ hai cấp hoặc hai cấp. Điều này có nghĩa là mỗi pixel được lưu trữ dưới dạng một bit duy nhất, tức là 0 hoặc 1.
    2. Thư viện quan trọng nhất cần thiết để xử lý hình ảnh trong Python là OpenCV. Hãy chắc chắn rằng bạn đã cài đặt thư viện vào Python của bạn. Đối với các bước để cài đặt OpenCV đề cập đến bài viết này: Thiết lập OpenCV với môi trường Anaconda
    3. Thiết lập một dấu ngưỡng, các pixel phía trên dấu đã cho sẽ chuyển màu trắng và bên dưới điểm sẽ chuyển sang màu đen.

    Dưới đây là việc thực hiện:

    Python3

    import cv2

    import numpy as np
    from numpy import random
    
    # Generating an image of values between 1 and 255. 
    im_thresh = random.randint(1,256, (64,64))
    
    # Set anything less than 255 to 0. Unnecessary if cv2 does this during threshold. 
    # Must go before the operation below in order not to set all values to 0. 
    im_thresh[im_thresh<255] = 0
    
    # Set all values at indices where the array equals 255 to 1.
    im_thresh[im_thresh==255] = 1
    
    3=
    import numpy as np
    from numpy import random
    
    # Generating an image of values between 1 and 255. 
    im_thresh = random.randint(1,256, (64,64))
    
    # Set anything less than 255 to 0. Unnecessary if cv2 does this during threshold. 
    # Must go before the operation below in order not to set all values to 0. 
    im_thresh[im_thresh<255] = 0
    
    # Set all values at indices where the array equals 255 to 1.
    im_thresh[im_thresh==255] = 1
    
    5
    import numpy as np
    from numpy import random
    
    # Generating an image of values between 1 and 255. 
    im_thresh = random.randint(1,256, (64,64))
    
    # Set anything less than 255 to 0. Unnecessary if cv2 does this during threshold. 
    # Must go before the operation below in order not to set all values to 0. 
    im_thresh[im_thresh<255] = 0
    
    # Set all values at indices where the array equals 255 to 1.
    im_thresh[im_thresh==255] = 1
    
    6
    import numpy as np
    from numpy import random
    
    # Generating an image of values between 1 and 255. 
    im_thresh = random.randint(1,256, (64,64))
    
    # Set anything less than 255 to 0. Unnecessary if cv2 does this during threshold. 
    # Must go before the operation below in order not to set all values to 0. 
    im_thresh[im_thresh<255] = 0
    
    # Set all values at indices where the array equals 255 to 1.
    im_thresh[im_thresh==255] = 1
    
    0
    import numpy as np
    from numpy import random
    
    # Generating an image of values between 1 and 255. 
    im_thresh = random.randint(1,256, (64,64))
    
    # Set anything less than 255 to 0. Unnecessary if cv2 does this during threshold. 
    # Must go before the operation below in order not to set all values to 0. 
    im_thresh[im_thresh<255] = 0
    
    # Set all values at indices where the array equals 255 to 1.
    im_thresh[im_thresh==255] = 1
    
    8
    import numpy as np
    from numpy import random
    
    # Generating an image of values between 1 and 255. 
    im_thresh = random.randint(1,256, (64,64))
    
    # Set anything less than 255 to 0. Unnecessary if cv2 does this during threshold. 
    # Must go before the operation below in order not to set all values to 0. 
    im_thresh[im_thresh<255] = 0
    
    # Set all values at indices where the array equals 255 to 1.
    im_thresh[im_thresh==255] = 1
    
    9

    img=cv2.imread('')
    gray_img=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    
    7
    img=cv2.imread('')
    gray_img=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    
    8
    img=cv2.imread('')
    gray_img=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    
    9

    img=cv2.imread('')gray_img=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    
    0
    img=cv2.imread('')gray_img=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    
    1
    import numpy as np
    from numpy import random
    
    # Generating an image of values between 1 and 255. 
    im_thresh = random.randint(1,256, (64,64))
    
    # Set anything less than 255 to 0. Unnecessary if cv2 does this during threshold. 
    # Must go before the operation below in order not to set all values to 0. 
    im_thresh[im_thresh<255] = 0
    
    # Set all values at indices where the array equals 255 to 1.
    im_thresh[im_thresh==255] = 1
    
    2

    img=cv2.imread('')gray_img=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    
    3

    Output:

    Hướng dẫn create a binary image in python - tạo một hình ảnh nhị phân trong python

    Ảnh gốc

    Hướng dẫn create a binary image in python - tạo một hình ảnh nhị phân trong python

    Mẫu nhị phân

    Chuyển đổi hình ảnh thành Python nhị phân bằng các ví dụ về mã

    Chúng tôi sẽ cố gắng sử dụng lập trình trong bài học này để giải quyết hình ảnh chuyển đổi thành câu đố python nhị phân. Điều này được thể hiện trong mã dưới đây.

    img=cv2.imread('')
    gray_img=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    

    Dưới đây, bạn sẽ tìm thấy một số ví dụ về các cách khác nhau để giải quyết hình ảnh chuyển đổi thành vấn đề Python nhị phân.

    img=cv2.imread('')gray_img=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    

    Chúng tôi đã học cách giải quyết hình ảnh chuyển đổi thành Python nhị phân bằng cách xem xét một loạt các trường hợp khác nhau.

    Làm cách nào để chuyển đổi hình ảnh thành nhị phân trong Python?

    Cách tiếp cận: Đọc hình ảnh từ vị trí. Là một hình ảnh màu có các lớp RGB trong đó và phức tạp hơn, hãy chuyển đổi nó sang dạng thang độ xám của nó trước tiên. Thiết lập một dấu ngưỡng, các pixel trên dấu đã cho sẽ chuyển màu trắng và bên dưới điểm sẽ chuyển sang màu đen.17-dec-2020

    Làm thế nào một hình ảnh được chuyển đổi thành nhị phân?

    BW = IM2BW (I, cấp) chuyển đổi hình ảnh thang độ xám I thành hình ảnh nhị phân BW, bằng cách thay thế tất cả các pixel trong hình ảnh đầu vào bằng độ chói lớn hơn mức bằng giá trị 1 (màu trắng) và thay thế tất cả các pixel khác bằng giá trị 0 (màu đen) .

    Chuyển đổi hình ảnh thành Python nhị phân bằng các ví dụ về mã

    Chúng tôi sẽ cố gắng sử dụng lập trình trong bài học này để giải quyết hình ảnh chuyển đổi thành câu đố python nhị phân. Điều này được thể hiện trong mã dưới đây.

    Dưới đây, bạn sẽ tìm thấy một số ví dụ về các cách khác nhau để giải quyết hình ảnh chuyển đổi thành vấn đề Python nhị phân.

    Chúng tôi đã học cách giải quyết hình ảnh chuyển đổi thành Python nhị phân bằng cách xem xét một loạt các trường hợp khác nhau.

    Làm cách nào để chuyển đổi hình ảnh thành nhị phân trong Python?

    Cách tiếp cận: Đọc hình ảnh từ vị trí. Là một hình ảnh màu có các lớp RGB trong đó và phức tạp hơn, hãy chuyển đổi nó sang dạng thang độ xám của nó trước tiên. Thiết lập một dấu ngưỡng, các pixel trên dấu đã cho sẽ chuyển màu trắng và bên dưới điểm sẽ chuyển sang màu đen.17-dec-2020

    Làm thế nào một hình ảnh được chuyển đổi thành nhị phân?

    Làm cách nào để chuyển đổi một hình ảnh thành mã trong Python?

    Thêm một tham chiếu thư viện (nhập thư viện) vào dự án Python của bạn. Mở tệp hình ảnh nguồn trong Python. Gọi phương thức 'Lưu ()', chuyển tên tệp đầu ra với phần mở rộng HTML. Nhận kết quả chuyển đổi hình ảnh là HTML.

    Làm thế nào để bạn chuyển đổi sang nhị phân trong Python?

    Trong Python, bạn chỉ có thể sử dụng hàm bin () để chuyển đổi từ giá trị thập phân sang giá trị nhị phân tương ứng của nó. Và tương tự, hàm int () để chuyển đổi một nhị phân thành giá trị thập phân của nó. Hàm int () lấy đối số thứ hai là cơ sở của số sẽ được chuyển đổi, đó là 2 trong trường hợp số nhị phân.

    Làm cách nào để đọc một hình ảnh nhị phân trong Python?

    Bạn có thể mở tệp bằng phương thức Open () bằng cách chuyển tham số B để mở nó ở chế độ nhị phân và đọc các byte tệp. Mở ('Tên tệp', "RB") Mở tệp nhị phân ở chế độ đọc.07-APR-2021

    Làm thế nào để bạn chuyển đổi RGB thành nhị phân?

    J = im2bw (i, 0,5); Dòng này chuyển đổi hình ảnh RGB thành nhị phân với mức ngưỡng được đặt ở mức 0,5 để so sánh các mức cường độ của pixel. Về cơ bản, tất cả 256 mức cường độ được ánh xạ tới các số từ 0 đến 1 và sau đó dựa trên giá trị ngưỡng và giá trị pixel, pixel được phân loại là đen hoặc trắng.23-feb-2022

    Hình ảnh có phải là một tệp nhị phân không?

    • Các tập tin nhị phân có thể được sử dụng để lưu trữ bất kỳ dữ liệu nào; Ví dụ: hình ảnh JPEG là một tệp nhị phân được thiết kế để đọc bởi một hệ thống máy tính. Dữ liệu bên trong một tệp nhị phân được lưu trữ dưới dạng byte thô, không thể đọc được con người.
    • Một hình ảnh được mã hóa như thế nào?
    • Mã hóa hình ảnh được sử dụng trên các tính năng dữ liệu là các tệp hình ảnh, như các tệp JPG và PNG. Chế độ màu và chuyển đổi hình ảnh là các bước chuyển đổi được thực hiện trước khi một hình ảnh được gửi đến mô hình, cả trong quá trình đào tạo và suy luận, khi bạn truy vấn mô hình được triển khai.

    Làm thế nào để bạn tạo một hình ảnh nhị phân trong Python?

    Cách tiếp cận: Đọc hình ảnh từ vị trí. Là một hình ảnh màu có các lớp RGB trong đó và phức tạp hơn, hãy chuyển đổi nó sang dạng thang độ xám của nó trước tiên. Thiết lập một dấu ngưỡng, các pixel phía trên dấu đã cho sẽ chuyển màu trắng và bên dưới điểm sẽ chuyển sang màu đen.Read the image from the location. As a colored image has RGB layers in it and is more complex, convert it to its Grayscale form first. Set up a Threshold mark, pixels above the given mark will turn white, and below the mark will turn black.

    Làm cách nào để hiển thị hình ảnh nhị phân trong Python?

    Để hiển thị bản đồ nhị phân, hãy sử dụng phương thức show () với grays colormap.Để điều chỉnh phần đệm giữa và xung quanh các ô con, hãy sử dụng phương thức chặt chẽ_layout ().Để hiển thị hình, sử dụng phương thức show ().use show() method with Greys colormap. To adjust the padding between and around the subplots, use tight_layout() method. To display the figure, use show() method.

    Làm thế nào để bạn nhị phân một hình ảnh?

    Một hình ảnh nhị phân là hình ảnh bao gồm các pixel có thể có một trong hai màu chính xác, thường là đen và trắng.Hình ảnh nhị phân còn được gọi là cấp độ hai cấp hoặc hai cấp, pixelart được làm bằng hai màu thường được gọi là 1 bit hoặc 1 bit.Điều này có nghĩa là mỗi pixel được lưu trữ dưới dạng một bit duy nhất, tức là 0 hoặc 1.one that consists of pixels that can have one of exactly two colors, usually black and white. Binary images are also called bi-level or two-level, Pixelart made of two colours is often referred to as 1-Bit or 1bit. This means that each pixel is stored as a single bit—i.e., a 0 or 1.

    Bạn có thể chuyển đổi một hình ảnh thành nhị phân?

    BW = IM2BW (I, cấp) chuyển đổi hình ảnh thang độ xám I thành hình ảnh nhị phân BW, bằng cách thay thế tất cả các pixel trong hình ảnh đầu vào bằng độ chói lớn hơn mức bằng giá trị 1 (màu trắng) và thay thế tất cả các pixel khác bằng giá trị 0 (màu đen). , by replacing all pixels in the input image with luminance greater than level with the value 1 (white) and replacing all other pixels with the value 0 (black).