I am writing a program that finds dark disks in an image then crops that image for a grouping of images.
After everyone's help i got the code to work up to actually saving an image.. heres the code so far
clear all; close all; clc;%script for running several images through finddisk
path = 'C:\Users\darkloki3\Desktop\Research in Squires Lab\images for multidiskfind\cool frames';destination= 'C:\Users\darkloki3\Desktop\Research in Squires Lab\images for multidiskfind\cool frames\cropped cool frames';frames = dir(path);%creating an array with the names of the image files in the folder
for n= 1:length(frames) filenumber = int2str(n);%integer to string
while length(filenumber)<5 filenumber=cat(2,'0',filenumber); end newfilename(n,:)=[path,filesep,filenumber,'.png'];end threshold = 45;if exist(destination) ~= 7 mkdir(destination)endframes;nu=1;for i=1:895 finddisk(newfilename(i,:),'png',threshold);% disk = ans;
% %crop image around disk and save as a new image
imwrite(ans,['C:\Users\darkloki3\Desktop\hopefully cropped',filesep,num2str(nu)],'jpeg') nu=nu+1;endfor n= 1:length(frames) filenumber2 = int2str(n);%integer to string while length(filenumber2)<5 filenumber2=cat(2,'0',filenumber2); end newfilename2(n,:)=[path,filesep,filenumber2,'.png'];end for j=1:895 finddiskcenter(newfilename2(j,:),'png',threshold); matrix=imread(newfilename2(j,:),'png'); x=floor(ans(1,2)); y=floor(ans(1,1)); w=1; newmatrix=zeros(200); for i = (y-200):570 z=1; for j = (x-200):760 newmatrix(w,z) = matrix(i,j); z=z+1; end w=w+1; end imwrite(newmatrix,['C:\Users\darkloki3\Desktop\hopefully cropped',filesep,num2str(j)],'png')end
Best Answer