image thumbnail
from Globs Game Player and Solver by Husam Aldahiyat
Play and/or solve this fun and addictive game.

p2mat(r,k)
function A = p2mat(r,k)
	i = imread(r);
	A = zeros(k,k);
	while size(i,1) > size(i,2)
		i(1,:,:) = [];
	end
	while size(i,2) > size(i,1)
		i(:,1,:) = [];
	end
	aa1 = zeros(1,k+1);
	aa2 = zeros(1,k+1);
	aa1(1:mod(size(i,1),k)+0) = 1;
	aa2(1:mod(size(i,2),k)+0) = 1;
	aa1=[0,cumsum(aa1)];
	aa2=[0,cumsum(aa2)];
	k2 = floor(length(i)/k);
	for j=1:k
		for p=1:k
			bb = i(j*k2-k2+1+aa2(j):j*k2+aa2(j+1),p*k2-k2+1+aa1(p):p*k2+aa1(p+1),:);
			i(j*k2+aa2(j+1),p*k2-k2+1+aa1(p):p*k2+aa1(p+1),:)=0;
			i(j*k2-k2+1+aa2(j):j*k2+aa2(j+1),p*k2+aa1(p+1),:)=0;
			m = mean(mean(bb));
			r = m(:,:,1)/255;
			g = m(:,:,2)/255;
			b = m(:,:,3)/255;
			if r > .8  && g > .35 % orange
				A(j,p) = 6;
			end
			if r > .75  && g > .75 % yellow
				A(j,p) = 2;
			end
			if r < .65 && g < .4 && b < .5 && r > .35 % Purple
				A(j,p) = 5;
			end
			if r < .3 && g < .55 && b < .7 && b > .5  && g > .35 % blue
				A(j,p) = 4;
			end
			if r > .3 && r < .5 && g < .7 && g > .6 && b < .3 % green
				A(j,p) = 1;
			end
			if r > .6 &&  r < .75 && g < .35 && b < .35 % red
				A(j,p) = 3;
			end
		end
	end
% 	figure;imshow(i);njklnjk
end

Contact us at files@mathworks.com