#PYTHON#
In this exercise you will write code which loads a collection of images (which are all the same size), computes a pixelwise average of the images, and displays the resulting average.
The images below give some examples that were generated by averaging "100 unique commemorative photographs culled from the internet" by Jason Salavon. Your program will do something similar.
Write a function in the cell below that loads in one of the sets of images and computes their average. You can use the os.listdir to get the list of files in the directory. As you load in the images, you should compute an average image on the fly. Color images are represented by a 3-dimensional array of size (HxWx3) where the third dimension indexes the red, green and blue channels. You will want to compute a running average of the red, green and blue slices in order to get your final average color image.
You should encapsulate your code in a function called average_imagethat takes the image directory as an input and returns the average of the images in that directory. Your function should implement some error checking. Specifically your function should skip over any files in the directory that are not images (plt.imread will thrown an OSError if the file is not an image). It should ignore images that are not color images. Finally, it should also skip any images which are not the same height and width as the first color image you load in.
The required code is as follows:
import numpy
import os
import matplotlib as plt
def average_image(dirname):
images = []
i = 0
# Reading files
for file in os.listdir(dirname):
filename = os.path.join(dirname,
file)
if os.path.isfile(filename):
img =
imread(filename)
# For OSError
checking
if (!
img):
continue # Ignore that item and
continue scanning other images.
# Type checking;
Suppose size of all images are same as red-pixels, green-pixels,
and blue-pixels as CONSTANTS.
elif
(!(img[0]==red-pixels && img[1]==green-pixels &&
img[2]==blue-pixels)):
continue # Ignore that item and continue
scanning other images.
else:
plt.imshow(img)
images[i] = img
size = len(images)
# Assuming that all sublists have same length, we've
checked about it also.
num_red = len(images[0])
num_green = len(images[0][1])
num_blue = len(images[0][2])
sum_red = 0
sum_blue = 0
sum_green = 0
for a in range size:
sum_red += images[a][0]
sum_green += images[a][1]
sum_blue += images[a][2]
Iaverage = np.array(sum_red, sum_green,
sum_blue)
return Iaverage
#PYTHON# In this exercise you will write code which loads a collection of images (which are...
C Language Write the code that dynamically allocates an array of struct objects based on a size entered through the command line arguments, You will use the following struct and enum. typedef enum Color { RED, GREEN, BLUE } Color; typedef struct MyStruct { int value; Color color; } MyStruct; Write the code to do the following: a. Check for one additional command line argument. Only proceed to the rest of the program if it exists and that the value...
C++, you can skip #1 Part 2. Practice Problems The following questions ask you to write a program to compute the area of a circle using the equation A = 1 m2. The radius of the circle should be entered by the program user. 1. Draw a structure chart 2. Make a new directory called CircleFun and make it the CWD. Work inside this directory to keep your files (Main.cpp, Circle.cpp, Circle.h) grouped together 3. Using the three-file format a....
Hi. I require your wonderful help with figuring out this challenging code. import java.awt.Color; import java.awt.image.BufferedImage; import java.io.*; import javax.imageio.ImageIO; public class ImageLab { /* * This is the grayscale example. Use it for inspiration / help, but you dont * need to change it. * * Creates and returns a new BufferedImage of the same size as the input * image. The new image is the grayscale version of the input (red, green, and * blue components averaged together)....
Image processing Matlab problem. Could you please help me to write a Matlab code to read images, equalize contrasts, covert images to grayscale and binary, then display on same windows. Then perform SOBEL and CANNY edge detection on images. Final make MATLAB to count the number of circles in images (circles and red circles) And how can we distinguish circles by color? and how to count number of red, green and blue circles separately for example.
Can you write a Python 2.7 function that takes a directory path, and prints the size, in bytes, of all the files, ignoring sub-directories, reverse sorted by size, with the total in the following exact format: file_name_2: 200000 file_name_1: 100000 file_name_3: 1000 > 3 File(s) - Total: 301000. Provide the copyable code.
Java program that creates a photo album application. Which will load a collection of images and displays them in a album layout. The program will allow the user to tag images with metadata: •Title for the photo . Limited to 100 characters. •Description for the photo . Limited to 300 characters. •Date taken •Place taken Functional Specs 1.Your album should be able to display the pictures sorted by Title, Date, and Place. 2.When the user clicks on a photo,...
the following python code edits BMP image file to negative but I need help with modifying this code so it turns it the same BMP image file into a black and white instead of a negative. heres python code I have so far [pasted below] ## # This program processes a digital image by creating a negative of a BMP image. # from io import SEEK_CUR from sys import exit def main() : filename = input("Please enter the file name:...
In this exercise you should write a Python function that computes the histogram of an intensity (gray scale) image. Do not use specifific Python functions for histogram computation (like hist or imhist). Create a new function my_hist and start with the following lines: function [h] = my_hist(im) % H = MY_HIST(IM) computes the histogram for the intensity % image IM (with values from 0 to 255) and returns a vector H % with 256 dimensions % get the image size:...
The task is to implement a program that inputs the name of a PGM file, loads it from the disk, and then computes the minimal, maximal, and average pixel value for this file. After the program completes the computation, it must explicitly free the memory taken by the image. Note that you need to use some of the provided basic functions for loading images into memory. The output of your program should look as follows: Minimum = 15 (darkest pixel)...
How do I correct this error in my code? When it got to the file type I can only go "null" from a certain point and I'm wondering how to correct this error. Also can I get a word document on this coding strategy for this problem? How much of this am I doing correctly? The original problem description: Create a program that provides a listing of all the files in a directory. The program should be a Java application...