Bitmap/Histogram: Difference between revisions

Content added Content deleted
(Added Julia language)
No edit summary
Line 1,226: Line 1,226:
SaveImageAsPPM(image, outputFile, 1)
SaveImageAsPPM(image, outputFile, 1)
EndIf</lang>
EndIf</lang>

=={{header|Python}}==
Makes use of the Pillow library (PIL) you can install it using pip. The code is probably not the fastest or the image I used (1960x1960) is just too big.
<lang python>from PIL import Image

# Open the image
image = Image.open("lena.jpg")
# Get the width and height of the image
width, height = image.size
# Calculate the amount of pixels
amount = width * height

# Total amount of greyscale
total = 0
# B/W image
bw_image = Image.new('L', (width, height), 0)
# Bitmap image
bm_image = Image.new('1', (width, height), 0)

for h in range(0, height):
for w in range(0, width):
r, g, b = image.getpixel((w, h))

greyscale = int((r + g + b) / 3)
total += greyscale

bw_image.putpixel((w, h), gray_scale)

# The average greyscale
avg = total / amount

black = 0
white = 1

for h in range(0, height):
for w in range(0, width):
v = bw_image.getpixel((w, h))

if v >= avg:
bm_image.putpixel((w, h), white)
else:
bm_image.putpixel((w, h), black)

bw_image.show()
bm_image.show()</lang>


=={{header|Racket}}==
=={{header|Racket}}==