Python Program: Read and modify image as bytes
Write a Python program that reads an image file into a bytes object and saves a modified copy.
Sample Solution:
Code:
def read_image(file_path):
with open(file_path, "rb") as file:
image_bytes = file.read()
return image_bytes
def save_modified_image(file_path, modified_bytes):
with open(file_path, "wb") as file:
file.write(modified_bytes)
def main():
try:
input_image_path = "flowchart_image.png"
output_image_path = "output_image.png"
# Read the image into bytes
original_image_bytes = read_image(input_image_path)
# Modify the bytes (e.g., adding watermark)
modified_image_bytes = original_image_bytes + b"Watermark"
# Save the modified image
save_modified_image(output_image_path, modified_image_bytes)
print("Image read and modified successfully.")
except Exception as e:
print("An error occurred:", e)
if __name__ == "__main__":
main()
Output:
Image read and modified successfully.
In the exercise above the "read_image()" function reads an image file into bytes using the "rb" (read binary) mode. The "save_modified_image()" function saves a modified bytes object into an image file using the "wb" (write binary) mode. The "main()" function demonstrates the usage of these functions by reading an input image, changing the bytes (in this case, adding a watermark), and saving the modified image.
Flowchart:
Previous: Python program to convert list of integers to bytearray.
Next: Convert hexadecimal string to bytes.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics