14 Jan 15 class demo
Contents
imfino
clear
load filelist
filename = char(files{1});
info = imfinfo(filename);
disp(info)
Filename: 'C:\Users\jloomis1\Google Drive\ece564\2015\basics20...' FileModDate: '16-Jan-2013 22:31:05' FileSize: 607096 Format: 'jpg' FormatVersion: '' Width: 2048 Height: 1536 BitDepth: 24 ColorType: 'truecolor' FormatSignature: '' NumberOfSamples: 3 CodingMethod: 'Huffman' CodingProcess: 'Sequential' Comment: {} Make: 'FUJIFILM' Model: 'FinePix6900ZOOM' Orientation: 1 XResolution: 72 YResolution: 72 ResolutionUnit: 'Inch' Software: 'Digital Camera FinePix6900ZOOM Ver1.00' DateTime: '2013:01:15 16:31:16' YCbCrPositioning: 'Co-sited' Copyright: ' ' DigitalCamera: [1x1 struct] ExifThumbnail: [1x1 struct]
DigitalCamera field
info.DigitalCamera info.DigitalCamera.Flash
ans = FNumber: 2.8000 ExposureProgram: 'Normal program' ISOSpeedRatings: 100 ExifVersion: [48 50 49 48] DateTimeOriginal: '2013:01:15 16:31:16' DateTimeDigitized: '2013:01:15 16:31:16' ComponentsConfiguration: 'YCbCr' CompressedBitsPerPixel: 1.5000 ShutterSpeedValue: 6 ApertureValue: 3 BrightnessValue: 3.1100 ExposureBiasValue: 0 MaxApertureValue: 3 MeteringMode: 'Pattern' Flash: 'Flash fired, no strobe return detection fun...' FocalLength: 9.7000 MakerNote: [1x238 double] FlashpixVersion: [48 49 48 48] ColorSpace: 'sRGB' CPixelXDimension: 2048 CPixelYDimension: 1536 InteroperabilityIFD: [1x1 struct] FocalPlaneXResolution: 2678 FocalPlaneYResolution: 2674 FocalPlaneResolutionUnit: 3 SensingMethod: 'One-chip color area sensor' FileSource: 'DSC' SceneType: 'A directly photographed image' ans = Flash fired, no strobe return detection function, unknown flash mode, flash function present, no red-eye reduction mode or unknown.
EXIF
info.ExifThumbnail
ans = Compression: 'OJPEG' Orientation: 1 XResolution: 72 YResolution: 72 ResolutionUnit: 'Inch' JPEGInterchangeFormat: 1102 JPEGInterchangeFormatLength: 9225 YCbCrPositioning: 'Co-sited'
rgb = imread(filename);
whos rgb
imshow(rgb);
Name Size Bytes Class Attributes rgb 1536x2048x3 9437184 uint8 Warning: Image is too big to fit on screen; displaying at 33%
grayscale image
g = rgb2gray(rgb); imshow(g);
Warning: Image is too big to fit on screen; displaying at 33%
histogram
imhist(g);
pick a region
clf do_input = false; if do_input imshow(g); [sample rect] = imcrop; save demo1 else load demo1 sample = imcrop(g,rect); end imshow(sample);
histogram of region 1
imhist(sample);
pick region2 (another way of saving input)
close all % imshow(g); % [sample2 rect] = imcrop; % rect rect = [658.5100 652.5100 227.9800 281.9800]; % rect = [892.5100 679.5100 137.9800 62.9800]; sample2 = imcrop(g,rect); imshow(sample2);
histogram of region 2
imhist(sample2);
final result
Compare two regions of brightness
% sample region 1 subplot(2,2,1); imshow(sample); subplot(2,2,2); imhist(sample); % sample region 2 subplot(2,2,3); imshow(sample2); subplot(2,2,4); imhist(sample2);