Hướng dẫn open image as binary file python - mở hình ảnh dưới dạng tệp nhị phân python

Tôi có một đoạn trích đọc hình ảnh của tôi cục bộ [trả về nhị phân], tức là:

image = 'car.jpg'
with open[image, 'rb'] as image_file:
    content = image_file.read[]

Tôi đang cố gắng tạo lại giống nhau nhưng với những hình ảnh được lưu trữ trên internet, tôi đã thử với những điều sau đây nhưng tôi không gặp may mắn.

from urllib.request import  urlopen
from PIL import Image
import io

url = '//somewebsite.com/fm-01/car.jpg'

image = urlopen[url]
image_file = io.BytesIO[image.read[]]
im = Image.open[image_file]
im = im.tobytes[]

CHỈNH SỬA ...

Cùng một hình ảnh chính xác, một trên Google Cloud Storage và hình ảnh còn lại cục bộ. Chúng có các byte khác nhau khi mở chúng.

with open['car.jpg','rb'] as image_file:
    content = image_file.read[]
    print[len[content]]

Kích thước: 234712

url = '//storage.googleapis.com/fm-01/car.jpg'
img = Image.open[urlopen[url]]
image = img.tobytes[]
print[len[image]]

Kích thước: 1077600

jrcagle77 thực tế là một poster chính 77 Practically a Master Poster

13 năm trước

Tìm kiếm diễn đàn này cho bộ chuyển đổi nhị phân của Vega sang Decimal sang nhị phân. Mã của bạn đang đọc chính xác dữ liệu; Bây giờ bạn chỉ cần tìm đúng cách để hiển thị nó.

Jeff

Vegaseat1.735 đồng nghiệp của Đội đạo đức giả của Daniweb 1,735 DaniWeb's Hypocrite Team Colleague

13 năm trước

Tôi đã lấy mã tôi phải đổ dữ liệu hình ảnh thập lục phân và thêm một tùy chọn nhị phân vào nó ,,,

# hexadecimal and binary dump of image file data
# modified to work with Python30

import binascii

try:
    # pick an image file you have in the working directory
    # or give the full file path ...
    image_file = 'py.ico'
    fin = open[image_file, "rb"]
    data = fin.read[]
    fin.close[]
except IOError:
    print["Image file %s not found" % imageFile]
    raise SystemExit

# convert every byte of data to the corresponding 2-digit hexadecimal
hex_str = str[binascii.hexlify[data]]
# now create a list of 2-digit hexadecimals
hex_list = []
bin_list = []
for ix in range[2, len[hex_str]-1, 2]:
    hex = hex_str[ix]+hex_str[ix+1]
    hex_list.append[hex]
    bin_list.append[bin[int[hex, 16]][2:]]

#print[bin_list]
bin_str = "".join[bin_list]
print[bin_str]

Đầu ra chuỗi nhị phân là khá vô dụng, vì bạn không bao giờ có thể khôi phục bất kỳ dữ liệu nào trở lại.

Nếu bạn muốn gửi dữ liệu hình ảnh nhị phân dưới dạng chuỗi, bạn phải sử dụng mô -đun Python Base64.

Lập trình bên PythonserverServer Side ProgrammingProgramming


Ngoài lập trình cơ bản - Python trung gian

Phổ biến nhất

36 bài giảng 3 giờ 3 hours

Mohammad Nauman

Chi tiết hơn

Học máy thực tế bằng cách sử dụng Python

Người bán hàng giỏi nhất

91 bài giảng 23,5 giờ 23.5 hours

Manas Dasgupta

Chi tiết hơn

Học máy thực tế bằng cách sử dụng Python

Người bán hàng giỏi nhất 6 hours

Manas Dasgupta

Chi tiết hơn

Học máy thực tế bằng cách sử dụng Python

Người bán hàng giỏi nhất

f = open['my_file.mp3', 'rb']
file_content = f.read[]
f.close[]

91 bài giảng 23,5 giờ

Manas Dasgupta

Khoa học dữ liệu thực tế sử dụng Python

  • 22 bài giảng 6 giờ
  • Các tệp "nhị phân" là bất kỳ tệp nào trong đó định dạng không được tạo thành từ các ký tự có thể đọc được. Các tệp nhị phân có thể bao gồm từ các tệp hình ảnh như JPEG hoặc GIF, tệp âm thanh như mp3 hoặc định dạng tài liệu nhị phân như Word hoặc PDF. Trong Python, các tệp được mở ở chế độ văn bản theo mặc định. Để mở các tệp ở chế độ nhị phân, khi chỉ định chế độ, hãy thêm 'B' vào nó.
  • Ví dụ
  • & nbsp; Mã trên mở my_file.mp3 trong chế độ đọc nhị phân và lưu trữ nội dung tệp trong biến File_Content.
  • Manogna
  • Cập nhật vào ngày 12 tháng 12 năm 2019 07:00:11
  • Câu hỏi và câu trả lời liên quan
  • Làm thế nào để mở một tệp nhị phân ở chế độ nối với Python?
  • Làm thế nào để mở một tệp nhị phân ở chế độ đọc và ghi với Python?
  • Làm thế nào để mở một tệp ở chế độ phụ lục với Python?
  • Làm thế nào để mở một tệp trong chế độ đọc và ghi với Python?
  • Làm thế nào để mở một tệp để viết bằng Python?
  • Làm thế nào để mở một tập tin chỉ để đọc trong Python?
  • Làm thế nào để thay đổi chế độ của một tệp bằng Python?
  • Làm cách nào để mở tệp VDS với ba JS?
  • Làm thế nào để có được dòng tệp mở hiện tại trong Python?

Làm thế nào để mở một tệp trong cùng một thư mục với tập lệnh Python?

Làm thế nào để mở một tệp văn bản đơn giản trong C#?

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

Hàm Open [] mở một tệp ở định dạng văn bản theo mặc định. Để mở một tệp ở định dạng nhị phân, thêm 'B' vào tham số chế độ. Do đó, chế độ "RB" mở tệp ở định dạng nhị phân để đọc, trong khi chế độ "WB" mở tệp ở định dạng nhị phân để viết.add 'b' to the mode parameter. Hence the "rb" mode opens the file in binary format for reading, while the "wb" mode opens the file in binary format for writing.

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

Các tệp nhị phân có thể bao gồm từ các tệp hình ảnh như JPEG hoặc GIF, tệp âm thanh như mp3 hoặc định dạng tài liệu nhị phân như Word hoặc PDF.Trong Python, các tệp được mở ở chế độ văn bản theo mặc định.Để mở các tệp ở chế độ nhị phân, khi chỉ định chế độ, hãy thêm 'B' vào nó.when specifying a mode, add 'b' to it.

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 thế nào là một hình ảnh chuyển đổi sang 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].Phạm vi này liên quan đến các mức tín hiệu có thể cho lớp của hình ảnh. converts the grayscale image I to binary image BW , 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]. This range is relative to the signal levels possible for the image's class.

Bài Viết Liên Quan

Chủ Đề