<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/wordpress-mu-1.2.1" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>Ya !!!...Fisika Itu Mudah</title>
	<link>http://blog.its.ac.id/fisikaitumudah</link>
	<description>Just another ITS Blog weblog</description>
	<pubDate>Wed, 21 May 2008 23:01:21 +0000</pubDate>
	<generator>http://wordpress.org/?v=wordpress-mu-1.2.1</generator>
	<language>en</language>
			<item>
		<title>PORTOFOLIO 7</title>
		<link>http://blog.its.ac.id/fisikaitumudah/2008/05/22/portofolio-7/</link>
		<comments>http://blog.its.ac.id/fisikaitumudah/2008/05/22/portofolio-7/#comments</comments>
		<pubDate>Wed, 21 May 2008 22:59:34 +0000</pubDate>
		<dc:creator>zaki03@cs.its.ac.id</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.its.ac.id/fisikaitumudah/2008/05/22/portofolio-7/</guid>
		<description><![CDATA[Kali ini kita akan membahas tentang  rekonstruksi objek 2 dimensi menjadi 3 dimensi.
Pada portofolio ini kita memerlukan  digipts.m   dan portofolio7.m untuk membangkitkan image 3 dimensi.
dibawah ini adalh listing stereo.m
function [XYZ, uv1, uv2] = stereo(im1, im2, C1, C2)
 fprintf(1, &#8216;Digitise some points in figure 1\n&#8217;);
figure(1)
imshow(im1);
[u1,v1] = digipts;
uv1 = [u1,v1]&#8217;;
fprintf(1, &#8216;Digitise some points [...]]]></description>
			<content:encoded><![CDATA[<p>Kali ini kita akan membahas tentang  rekonstruksi objek 2 dimensi menjadi 3 dimensi.</p>
<p>Pada portofolio ini kita memerlukan <a href="http://donipunya.wordpress.com/fungsi-tambahan/"> </a><a href="http://donipunya.wordpress.com/portofolio-7/fsdf">digipts.m</a>   dan <a href="http://donipunya.wordpress.com/fungsi-tambahan/">portofolio7.m</a> untuk membangkitkan image 3 dimensi.</p>
<p>dibawah ini adalh listing stereo.m</p>
<p align="left"><em>function [XYZ, uv1, uv2] = stereo(im1, im2, C1, C2)</em></p>
<p align="left"><em> fprintf(1, &#8216;Digitise some points in figure 1\n&#8217;);</em></p>
<p><em>figure(1)</em></p>
<p><em>imshow(im1);</em></p>
<p><em>[u1,v1] = digipts;</em></p>
<p><em>uv1 = [u1,v1]&#8217;;</em></p>
<p><em>fprintf(1, &#8216;Digitise some points in figure 2\n&#8217;);</em></p>
<p><em>figure(2)</em></p>
<p><em>imshow(im2);</em></p>
<p><em>[u2,v2] = digipts;</em></p>
<p><em>uv2 = [u2,v2]&#8217;;</em></p>
<p><em>% check if same number of points are selected</em></p>
<p><em>if length(u1) ~= length(u2)</em></p>
<p><em>fprintf(1, &#8216;Same number of points not selected\n&#8217;);</em></p>
<p><em>end</em></p>
<p align="left"><em> for i = 1:length(u1)</em></p>
<p><em>a = [C1(1:2,1:3) - [u1(i)*C1(3,1:3); v1(i)*C1(3,1:3)];</em></p>
<p><em>C2(1:2,1:3) - [u2(i)*C2(3,1:3); v2(i)*C2(3,1:3)]];</em></p>
<p><em>c = [u1(i) - C1(1,4);</em></p>
<p><em>v1(i) - C1(2,4);</em></p>
<p><em>u2(i) - C2(1,4);</em></p>
<p><em>v2(i) - C2(2,4)];</em></p>
<p><em>b(:, i) = a \ c;</em></p>
<p><em>end</em></p>
<p><em>XYZ = b&#8217;;</em></p>
<p>Dari fungsi diatas akan dihasilkan titik-titik koordinat 3 dimensi dari ketiga bangun ruang (kubus, balok, dan limas), seperti di bawah ini:</p>
<p align="left">XYZ =</p>
<p align="left">-286.2951  157.9628  143.0423</p>
<p>-175.3818  163.1173  142.7176</p>
<p>-175.5998   16.6768  141.1072</p>
<p>-289.0643   13.0795  143.6164</p>
<p>-285.5844  161.7196    8.2758</p>
<p>-287.0630   12.1030    5.9668</p>
<p>-174.9637   14.4183    4.0810</p>
<p>-86.9674  -69.5001    0.6049</p>
<p>-66.2381 -144.2762  121.3230</p>
<p>20.2380 -180.4104   -4.5407</p>
<p>-136.9644 -207.1403   -0.7542</p>
<p>136.7599  -90.1582   62.6987</p>
<p>208.8604  -92.0420   60.2097</p>
<p>206.8196 -158.9134   58.7466</p>
<p>137.3153 -155.6600   59.8104</p>
<p>133.7304  -94.9047   -4.4448</p>
<p>137.0247 -158.4058  -10.0663</p>
<p>205.6730 -162.3611  -10.7847</p>
<p align="left">&nbsp;</p>
<p align="left"><strong>Panjang rusuk untuk balok:</strong></p>
<p align="left">slengths =</p>
<p align="left">144.9110  111.0335  146.4495  113.5492</p>
<p>113.5492  137.0463  112.1391  137.6676</p>
<p>137.6676  149.6418  134.8208  144.9110</p>
<p>112.2506  134.8208  111.0335  137.6676</p>
<p>137.6676  146.4495  137.0463  147.7343</p>
<p>147.7343  112.1391  149.6418  112.2506</p>
<p align="left">dengan sisi-sisinya:</p>
<p align="left">nface =</p>
<p align="left">4     1     2     3     4</p>
<p>4     3     7     6     4</p>
<p>4     6     5     1     4</p>
<p>8     5     1     2     8</p>
<p>8     2     3     7     8</p>
<p>8     7     6     5     8</p>
<p align="left">&nbsp;</p>
<p align="left"><strong>Panjang rusuk untuk limas:</strong></p>
<p align="left">slengths =</p>
<p align="left">143.5062  156.9251  154.3392</p>
<p>143.5062  154.4569  146.4458</p>
<p>154.3392  159.5037  146.4458</p>
<p>156.9251  159.5037  154.4569</p>
<p align="left">dengan sisi-sisinya:</p>
<p align="left">nface =</p>
<p align="left">1     2     3     1</p>
<p>1     2     4     1</p>
<p>1     3     4     1</p>
<p>2     3     4     2</p>
<p align="left">&nbsp;</p>
<p align="left"><strong>Panjang rusuk untuk kubus:</strong></p>
<p align="left">slengths =</p>
<p align="left">65.5678   72.1681   66.9186   69.5886</p>
<p>69.5886   69.6261   68.7659   69.9313</p>
<p>69.9313   63.8345   67.3792   65.5678</p>
<p>75.0216   67.3792   72.1681   69.9313</p>
<p>69.9313   66.9186   69.6261   67.6446</p>
<p>67.6446   68.7659   63.8345   75.0216</p>
<p align="left">dengan sisi-sisinya:</p>
<p align="left">nface =</p>
<p align="left">4     1     2     3     4</p>
<p>4     3     7     6     4</p>
<p>4     6     5     1     4</p>
<p>8     5     1     2     8</p>
<p>8     2     3     7     8</p>
<p>8     7     6     5     8</p>
<p align="left">Untuk mendapatkan Dua view yang berbeda dari rekonstruksi 3D kubus, balok dan limas dan perkiraan titik koordinat 3D yang tersembunyi, dijalankan fungsi di bawah ini:</p>
<p align="left"><em>function portofolio7()</em></p>
<p><em>im1 = imread(’stereo1.jpg’ );</em></p>
<p><em>im2 = imread(’stereo2.jpg’ );</em></p>
<p><em> C1 = [0.6596   -0.7391   -0.0615  363.4235;</em></p>
<p><em>-0.1851   -0.1387   -0.9437  342.7417;</em></p>
<p><em>0.0005    0.0003   -0.0003    1.0000];</em></p>
<p><em>C2 = [0.9234   -0.2221   -0.0257  347.7796;</em></p>
<p><em>-0.0741   -0.2278   -0.9168  339.8960;</em></p>
<p><em>0.0002    0.0004   -0.0002    1.0000];</em></p>
<p><em> pt3D = stereo(im1, im2, C1, C2)</em></p>
<p><em> figure(3)</em></p>
<p><em>cube(pt3D(1:7,:));</em></p>
<p><em>tetrahedron(pt3D(8:11,:));</em></p>
<p><em>cube(pt3D(12:18,:));</em></p>
<p><em> % label coordinate axes</em></p>
<p><em>text(100,0,0,’x&#8217;);</em></p>
<p><em>text(0,100,0,’y&#8217;);</em></p>
<p><em>text(0,0,100,’z&#8217;);</em></p>
<p><em> % draw in a set of coordinate axes</em></p>
<p><em>axislength = 100*eye(3);</em></p>
<p><em>for i=1:3</em></p>
<p><em>line([0, axislength(i,1)], [0, axislength(i,2)], [0, axislength(i,3)]);</em></p>
<p><em>end</em></p>
<p><em>axis equal; box on; rotate3D on; grid on;</em></p>
<p><em>end</em></p>
<p><em> function cube(cubepts3D)</em></p>
<p><em>% determine hidden vertex</em></p>
<p><em>cubepts3D(8,  = - cubepts3D(4,  + cubepts3D(6,  + cubepts3D(2,:);</em></p>
<p><em>% define faces from standard numbering</em></p>
<p><em>cubefaces = [4 1 2 3</em></p>
<p><em>4 3 7 6</em></p>
<p><em>4 6 5 1</em></p>
<p><em>8 5 1 2</em></p>
<p><em>8 2 3 7</em></p>
<p><em>8 7 6 5];</em></p>
<p><em>% draw ‘patcheds’ from vertice and face matrix</em></p>
<p><em>patch(’Faces’,cubefaces,’Vertices’,cubepts3D, ‘FaceColor’, ‘none’)</em></p>
<p><em>fprintf(1, ‘Length matrix of face sides\n’);</em></p>
<p><em>[slengths, nface] = sidelengths(cubepts3D, cubefaces)</em></p>
<p><em>end</em></p>
<p align="left"><em>function tetrahedron(tetrahedronpts3D)</em></p>
<p><em>% define faces from standard numbering</em></p>
<p><em>tetrahedronfaces = [1 2 3</em></p>
<p><em>1 2 4</em></p>
<p><em>1 3 4</em></p>
<p><em>2 3 4];</em></p>
<p><em>% draw ‘patcheds’ from vertice and face matrix</em></p>
<p><em>patch(’Faces’,tetrahedronfaces,’Vertices’,tetrahedronpts3D, ‘FaceColor’, ‘none’)</em></p>
<p><em>fprintf(1, ‘Length matrix of face sides\n’);</em></p>
<p><em>[slengths, nface] = sidelengths(tetrahedronpts3D, tetrahedronfaces)</em></p>
<p><em>end</em></p>
<p align="left"><em>function [slengths, nface] = sidelengths(pt3D, face)</em></p>
<p><em>[rows, cols] = size(face);</em></p>
<p><em>nface = [face face(:,1)];</em></p>
<p><em>for i=1:cols</em></p>
<p><em>for j=1:rows</em></p>
<p><em>slengths(j,i) = norm(pt3D(nface(j,i),:)-pt3D(nface(j,i+1),:));</em></p>
<p><em>end</em></p>
<p><em>end</em></p>
<p><em>end</em></p>
<p>dari fungsi diatas kita akan menentukan kokordinat titik-titik dengan urutan seperti berikut :</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/st1.jpg" title="st1.jpg"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/st1.thumbnail.jpg" alt="st1.jpg" /></a></p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/st2.jpg" title="st2.jpg"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/st2.thumbnail.jpg" alt="st2.jpg" /></a></p>
<p>kita akan mendapatkan rekonstruksi 3 D :</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/1.jpg" title="1.jpg"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/1.thumbnail.jpg" alt="1.jpg" /></a></p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/2.jpg" title="2.jpg"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/2.thumbnail.jpg" alt="2.jpg" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.its.ac.id/fisikaitumudah/2008/05/22/portofolio-7/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PORTOFOLIO 6</title>
		<link>http://blog.its.ac.id/fisikaitumudah/2008/05/22/portofolio-6/</link>
		<comments>http://blog.its.ac.id/fisikaitumudah/2008/05/22/portofolio-6/#comments</comments>
		<pubDate>Wed, 21 May 2008 22:47:45 +0000</pubDate>
		<dc:creator>zaki03@cs.its.ac.id</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.its.ac.id/fisikaitumudah/2008/05/22/portofolio-6/</guid>
		<description><![CDATA[Dalam portofolio kali ini dibutuhkan fungsi calibrate.m
berikut ini fungsinya :
% CALIBRATE
%
% Function to perform camera calibration
%
% Usage:   C = calibrate(im, XYZ, uv)
%
%   Where:   im  - is the image of the calibration target.
%            XYZ - is a n [...]]]></description>
			<content:encoded><![CDATA[<p>Dalam portofolio kali ini dibutuhkan fungsi calibrate.m</p>
<p>berikut ini fungsinya :</p>
<p><em>% CALIBRATE<br />
%<br />
% Function to perform camera calibration<br />
%<br />
% Usage:   C = calibrate(im, XYZ, uv)<br />
%<br />
%   Where:   im  - is the image of the calibration target.<br />
%            XYZ - is a n x 3 array of  XYZ coordinates<br />
%                  of the calibration target points.<br />
%            uv  - is a 2 x n array of the image coordinates<br />
%                  of the calibration target points.<br />
%            C   - is the 3 x 4 camera calibration matrix.<br />
%<br />
%  This function plots the uv coordinates onto the image of<br />
%  the calibration target.  It also projects the XYZ coordinates<br />
%  back into image coordinates using the  calibration matrix<br />
%  and plots these points too as a visual check on the accuracy of<br />
%  the calibration process.<br />
%  Lines from the origin to the vanishing points in the X, Y and<br />
%  Z directions are overlaid on the image.<br />
%  The mean squared error between the  positions of the uv coodinates<br />
%  and the projected XYZ coordinates is also reported.<br />
%<br />
%  The function should also report the error in satisfying the<br />
%  camera calibration matrix constraint - the magnitude of<br />
%   (q1 x q3).(q2 x q3)<br />
%<br />
function C = calibrate(im, XYZ, uv)</em></p>
<p><em>% obtain rows so arbitrary number of points can be used<br />
[rows, cols] = size(XYZ);</em></p>
<p><em>XYZ1 = [XYZ, ones(rows, 1)]; % makes it easier to work with</em></p>
<p><em>% build B matrix<br />
for n = 1:rows<br />
B(2*n-1, : ) = [XYZ1(n, : ) 0 0 0 0 -uv(1, n)*XYZ(n, : )];<br />
B(2*n,   : ) = [0 0 0 0 XYZ1(n, : ) -uv(2, n)*XYZ(n, : )];<br />
end</em></p>
<p><em>c = B \ uv(:);<br />
c(12) = 1;<br />
C = reshape(c,4,3)&#8217;</em></p>
<p><em>XYZ1 = XYZ1&#8242;;<br />
for i = 1:rows<br />
suv(:,i) = C*XYZ1(:,i);<br />
suv(:,i) = suv(:,i)/suv(3,i);<br />
end</em></p>
<p><em>% calculate the mean squared error between the positions of the uv coodinates and suv.<br />
mse = mean(mean((uv - suv(1:2,:)).^2));<br />
fprintf(1, &#8216;mean squared error is %d\n&#8217;, mse);</em></p>
<p><em>% calculate the error in satisfying the camera calibration matrix constraint<br />
q1 = C(1,1:3)&#8217;;<br />
q2 = C(2,1:3)&#8217;;<br />
q3 = C(3,1:3)&#8217;;<br />
error = abs(dot(cross(q1, q3), cross(q2, q3)));<br />
fprintf(1, &#8216;error in satisfying the camera calibration matrix is %d\n&#8217;, error);</em></p>
<p><em>% annotate image<br />
imshow(im);<br />
hold;<br />
% plot uv coordinates<br />
plot(uv(1, :), uv(2, :),&#8217;r+&#8217;)</em></p>
<p><em>% plot XYZ coordinates<br />
plot(suv(1,:), suv(2,:),&#8217;bx&#8217;)</em></p>
<p><em>% draw vanishing lines<br />
for i = 1:3<br />
%a = [C(1,4), C(1,i)/C(3,i)];<br />
%b = [C(2,4), C(2,i)/C(3,i)];<br />
%fprintf(1, ‘%d    %d %d  enter\n’, i, a ,b);<br />
%plot([C(1,4), C(1,i)/C(3,i)],[C(2,4), C(2,i)/C(3,i)],’bx’)<br />
line([C(1,4), C(1,i)/C(3,i)],[C(2,4), C(2,i)/C(3,i)])<br />
end<br />
hold;</em></p>
<p><strong>hasil kalibrasi pada stereo1.jpg</strong></p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/kalibrasi-stereo1.jpg" title="kalibrasi-stereo1.jpg"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/kalibrasi-stereo1.thumbnail.jpg" alt="kalibrasi-stereo1.jpg" /></a></p>
<p><strong>hasil kalibrasi pada stereo2.jpg</strong></p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/kalibrasi-stereo2.jpg" title="kalibrasi-stereo2.jpg"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/kalibrasi-stereo2.thumbnail.jpg" alt="kalibrasi-stereo2.jpg" /></a></p>
<p>fungsi kalibrasi diatas memerlukan XYZ dan uv yang didapat dari stereo.m</p>
<p>XYZ =[</p>
<p>-5.6989  127.4579  226.6703;<br />
-3.7300  127.1281  146.6700;<br />
-4.7525  126.1825   68.3657;<br />
-2.0594   49.9441   66.5729;<br />
-4.0579   48.6581  146.3999;<br />
-3.2317   51.4341  225.6274;<br />
48.1837    4.0716  224.9339;<br />
49.5609    2.8543  145.1344;<br />
50.3336    1.6634   65.5854;<br />
130.6202    3.6425   65.0946;<br />
132.6362    8.1950  143.2314;<br />
132.7597    9.7357  223.1696];</p>
<p>uv1 =[</p>
<p>260   260   259   323   326   327   395   392   389   423   425   429;<br />
116   189   259   275   205   130   126   198   269   244   176   105];</p>
<p>uv2 =[</p>
<p>307   306   303   331   333   336   399   396   393   459   464   469;<br />
103   173   239   266   197   125   134   208   277   267   198   126];</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.its.ac.id/fisikaitumudah/2008/05/22/portofolio-6/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PORTOFOLIO 5</title>
		<link>http://blog.its.ac.id/fisikaitumudah/2008/05/22/portofolio-5/</link>
		<comments>http://blog.its.ac.id/fisikaitumudah/2008/05/22/portofolio-5/#comments</comments>
		<pubDate>Wed, 21 May 2008 17:41:07 +0000</pubDate>
		<dc:creator>zaki03@cs.its.ac.id</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.its.ac.id/fisikaitumudah/2008/05/22/portofolio-5/</guid>
		<description><![CDATA[  Dalam portofolio ini akan dibahas tentang edge detection. Deteksi edge dilakukan dengan smoothing gaussian filter dulu atau tanpa smoothing dengan gaussian filter dulu.
berikut ini perintah matlabnya untuk mendapatkan image-image seperti di atas:
im = imread(&#8217;zacky.jpg&#8217;);
im = rgb2gray(im);
untuk smoothing dengan menggunakan gaussian filter:
 newim = filter2(fspecial(&#8217;gaussian&#8217;, size(im), 3), im);
imwritesc(newim, &#8216;gaussian3.png&#8217;);
untuk pendeteksian tepi:
 tepi = EDGE(newim,&#8217;canny&#8217;,[0.0500 [...]]]></description>
			<content:encoded><![CDATA[<p>  Dalam portofolio ini akan dibahas tentang edge detection. Deteksi edge dilakukan dengan smoothing gaussian filter dulu atau tanpa smoothing dengan gaussian filter dulu.</p>
<p align="left"><strong>berikut ini perintah matlabnya untuk mendapatkan image-image seperti di atas:</strong></p>
<p align="left"><em>im = imread(&#8217;zacky.jpg&#8217;);<br />
im = rgb2gray(im);</em></p>
<p align="left"><strong>untuk smoothing dengan menggunakan gaussian filter:</strong><br />
<em> newim = filter2(fspecial(&#8217;gaussian&#8217;, size(im), 3), im);<br />
imwritesc(newim, &#8216;gaussian3.png&#8217;);</em></p>
<p align="left"><strong>untuk pendeteksian tepi:</strong><br />
<em> tepi = EDGE(newim,&#8217;canny&#8217;,[0.0500 0.1250]);<br />
imwritesc(tepi, &#8216;edge3.png&#8217;);</em></p>
<p align="left"><strong>untuk menggenerate gradient strength image dengan filter horisontal:</strong><br />
<em> newimhori = filter2([-1 0 1], newim);<br />
imwritesc(newimhori, &#8216;newimhori3.png&#8217;);</em></p>
<p align="left"><strong>untuk menggenerate gradient strength image dengan filter vertikal:</strong><br />
<em> newimvert = filter2([-1; 0; 1], newim);<br />
imwritesc(newimvert, &#8216;newimvert3.png&#8217;);</em></p>
<p align="left"><strong>untuk yang tanpa filter gaussian:</strong><br />
<em> tepi = EDGE(im,&#8217;canny&#8217;,[0.0500 0.1250]);<br />
imwritesc(tepi, &#8216;edgewithoutgaussian.png&#8217;);</em></p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/gaussian3.png" title="gaussian3.png"> </a></p>
<p><strong>Hasil   deteksi edge tanpa menggunakan  smoothing gaussian filter terlebih dahulu</strong></p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/edge3.png" title="edge3.png"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/edge3.png" alt="edge3.png" /></a></p>
<p><strong>Hasil smoothing dengan gaussian dengan standar deviasi = 3<br />
</strong></p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/gaussian31.png" title="gaussian31.png"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/gaussian31.png" alt="gaussian31.png" /></a></p>
<p><strong> Gradient strength image dengan horizontal filter</strong></p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/newimhori31.png" title="newimhori31.png"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/newimhori31.png" alt="newimhori31.png" /></a></p>
<p><strong>gradient strength image dengan vertikal filter </strong></p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/newimvert3.png" title="newimvert3.png"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/newimvert3.png" alt="newimvert3.png" /></a></p>
<p><strong> hasil pendeteksian edge dengan ‘canny</strong>’</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/edgewithoutgaussian.png" title="edgewithoutgaussian.png"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/edgewithoutgaussian.png" alt="edgewithoutgaussian.png" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.its.ac.id/fisikaitumudah/2008/05/22/portofolio-5/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PORTOFOLIO 4</title>
		<link>http://blog.its.ac.id/fisikaitumudah/2008/05/20/portofolio-4/</link>
		<comments>http://blog.its.ac.id/fisikaitumudah/2008/05/20/portofolio-4/#comments</comments>
		<pubDate>Tue, 20 May 2008 15:07:44 +0000</pubDate>
		<dc:creator>zaki03@cs.its.ac.id</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.its.ac.id/fisikaitumudah/2008/05/20/portofolio-4/</guid>
		<description><![CDATA[Maaf portofolio 4 belum kami selesaikan karena komputer kami tidak kuat untuk menjalankan listing program pada portofolio ini  (out of memory error)
]]></description>
			<content:encoded><![CDATA[<p>Maaf portofolio 4 belum kami selesaikan karena komputer kami tidak kuat untuk menjalankan listing program pada portofolio ini  (out of memory error)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.its.ac.id/fisikaitumudah/2008/05/20/portofolio-4/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PORTOFOLIO 3</title>
		<link>http://blog.its.ac.id/fisikaitumudah/2008/05/20/portofolio-3/</link>
		<comments>http://blog.its.ac.id/fisikaitumudah/2008/05/20/portofolio-3/#comments</comments>
		<pubDate>Mon, 19 May 2008 23:08:04 +0000</pubDate>
		<dc:creator>zaki03@cs.its.ac.id</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.its.ac.id/fisikaitumudah/2008/05/20/portofolio-3/</guid>
		<description><![CDATA[Pada portofolio ini akan dipelajari tentang pengolahan citra menggunakan domain frekuensi. Hal ini dapat dilakukan dengan menggunaka transformasi fourier.
Pada portofolio ini ada beberapa tugas
Tugas 1 :
Membangun citra melalui komponen fouriernya
Dalam tugas ini membutuhkan listing program freqcomp.m
cara penggunannya sebagai berikut :
imfreq = imread(&#8217;zacky.jpg&#8217;)
imfreqgray = rgb2gray(imfreq)
imfreqgray = imresize(im,0.25)
recon = freqcomp(im, frek, 1) % ganti frek dengan nilai [...]]]></description>
			<content:encoded><![CDATA[<p>Pada portofolio ini akan dipelajari tentang pengolahan citra menggunakan domain frekuensi. Hal ini dapat dilakukan dengan menggunaka transformasi fourier.</p>
<p>Pada portofolio ini ada beberapa tugas</p>
<p>Tugas 1 :</p>
<p>Membangun citra melalui komponen fouriernya</p>
<p>Dalam tugas ini membutuhkan listing program freqcomp.m</p>
<p>cara penggunannya sebagai berikut :</p>
<p><em>imfreq = imread(&#8217;zacky.jpg&#8217;)<br />
imfreqgray = rgb2gray(imfreq)<br />
imfreqgray = imresize(im,0.25)<br />
recon = freqcomp(im, frek, 1) </em>% ganti frek dengan nilai frekuensi yang diinginkan, dalam tugas ini digunakan nilai frekuensi: 100, 200</p>
<p>hasil menggunakan frekuensi 200</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/hasilfreqcomp.jpg" title="hasilfreqcomp.jpg"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/hasilfreqcomp.thumbnail.jpg" alt="hasilfreqcomp.jpg" /></a></p>
<p>hasil menggunakan frekuensi 300</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/hasilfreqcomp300.jpg" title="hasilfreqcomp300.jpg"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/hasilfreqcomp300.thumbnail.jpg" alt="hasilfreqcomp300.jpg" /></a></p>
<p>Gaussian Filter</p>
<p>untuk langkah-langkah berikut ini diperlukan listing program imwritesc.m</p>
<p>&gt;&gt; im = imread(&#8217;zacky.jpg&#8217;);<br />
&gt;&gt; im=rgb2gray(im);<br />
&gt;&gt; gausfilt = fspecial(&#8217;gaussian&#8217;, size(im), 6);<br />
&gt;&gt; imfft = fft2(im);</p>
<p>&gt;&gt; gausfiltfft = fft2(gausfilt);<br />
&gt;&gt; newimgausfft = gausfiltfft.*imfft;<br />
&gt;&gt; imwritesc(im, &#8216;im.png&#8217;);</p>
<p>&gt;&gt; imwritesc(im, &#8216;im.png&#8217;);<br />
&gt;&gt; imwritesc(gausfilt, &#8216;gausfilt.png&#8217;);<br />
&gt;&gt; imwritesc(fftshift(log(abs(imfft)+eps)), &#8216;imfft.png&#8217;);</p>
<p>&gt;&gt; imwritesc(fftshift(log(abs(gausfiltfft)+eps)), &#8216;gausfiltfft.png&#8217;);<br />
&gt;&gt; imwritesc(fftshift(log(abs(newimgausfft)+eps)), &#8216;newimgausfft.png&#8217;);<br />
&gt;&gt; imwritesc(fftshift(real(ifft2(newimgausfft))), &#8216;newimga.png&#8217;);</p>
<p>hasil :</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/imok.png" title="imok.png"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/imok.thumbnail.png" alt="imok.png" /></a></p>
<p>Image hasil gray scale</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/imfftok.png" title="imfftok.png"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/imfftok.thumbnail.png" alt="imfftok.png" /></a></p>
<p>fft dari Image</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/gausfiltok.png" title="gausfiltok.png"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/gausfiltok.thumbnail.png" alt="gausfiltok.png" /></a></p>
<p>gaussian filter dengan standard deviasi 0.6</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/gausfiltfftok.png" title="gausfiltfftok.png"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/gausfiltfftok.thumbnail.png" alt="gausfiltfftok.png" /></a></p>
<p>fft dari gaussian filter</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/newimgausfftok.png" title="newimgausfftok.png"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/newimgausfftok.thumbnail.png" alt="newimgausfftok.png" /></a></p>
<p>hasil perkalian anatar fft dari gaussian filter dengan fft image</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/newimgaok.png" title="newimgaok.png"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/newimgaok.thumbnail.png" alt="newimgaok.png" /></a></p>
<p>hasil smoothing image dengan gaussian filter</p>
<p>Average Filter</p>
<p>Untuk menjalankan average  filter diperlukan avefilter.m selain imwritesc.m.</p>
<p>berikut listing yang harus dijalankan :</p>
<p>&gt;&gt; im = imread(&#8217;zacky.jpg&#8217;);<br />
&gt;&gt; im = rgb2gray(im);<br />
&gt;&gt; avfilt = avefilter(im ,[21 21]);</p>
<p>&gt;&gt; imfft = fft2(im);</p>
<p>&gt;&gt; avfiltfft = fft2(avfilt);<br />
&gt;&gt; newimavfft = avfiltfft.*imfft;<br />
&gt;&gt; imwritesc(im, &#8216;imav2.png&#8217;);<br />
&gt;&gt; imwritesc(avfilt, &#8216;avfilt2.png&#8217;);<br />
&gt;&gt; imwritesc(fftshift(log(abs(imfft)+eps)), &#8216;imfft2.png&#8217;);</p>
<p>hasil dari average filter :</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/imav2ok.png" title="imav2ok.png"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/imav2ok.thumbnail.png" alt="imav2ok.png" /></a></p>
<p>Image Gray Scale</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/imfft2ok.png" title="imfft2ok.png"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/imfft2ok.thumbnail.png" alt="imfft2ok.png" /></a></p>
<p>fft dari image</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/avfilt2ok.png" title="avfilt2ok.png"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/avfilt2ok.thumbnail.png" alt="avfilt2ok.png" /></a></p>
<p>Average filter dengan ukuran [21  21]</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/avfiltfft2ok.png" title="avfiltfft2ok.png"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/avfiltfft2ok.thumbnail.png" alt="avfiltfft2ok.png" /></a></p>
<p>fft dari average filter</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/newimavfft2ok.png" title="newimavfft2ok.png"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/newimavfft2ok.thumbnail.png" alt="newimavfft2ok.png" /></a></p>
<p>hasil perkalian dari image fft dan average filter fft</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/newimav2ok.png" title="newimav2ok.png"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/newimav2ok.thumbnail.png" alt="newimav2ok.png" /></a></p>
<p>hasil dari average filtering</p>
<p>Fase dan Amplitudo dari sebuah Image</p>
<p>Dalam pengolahan citra kali ini hanya dibutuhkan imwritesc.m</p>
<p>berikut listing perintah matlabnya :</p>
<p><em>newimfft1 = im1mag.*(cos(im2phase) + i*sin(im2phase));<br />
newimfft2 = im2mag.*(cos(im1phase) + i*sin(im1phase));</em></p>
<p><em>imwritesc(real(ifft2(newimfft1)), ‘im1mag_im2phase.png’);<br />
imwritesc(real(ifft2(newimfft2)), ‘im1phase_im2mag.png’);</em></p>
<p>untuk menampilkan citra/image dengan fasenya saja:<br />
<em>im1phaseonly = im1fft./im1mag;<br />
im2phaseonly = im2fft./im2mag;</em></p>
<p><em>imwritesc(real(ifft2(im1phaseonly)), ‘im1phaseonly.png’);<br />
imwritesc(real(ifft2(im2phaseonly)), ‘im2phaseonly.png’);</em></p>
<p><em>imwritesc(im1, ‘im1.png’);<br />
imwritesc(im2, ‘im2.png’);</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.its.ac.id/fisikaitumudah/2008/05/20/portofolio-3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PORTOFOLIO 2</title>
		<link>http://blog.its.ac.id/fisikaitumudah/2008/05/20/portofolio-2/</link>
		<comments>http://blog.its.ac.id/fisikaitumudah/2008/05/20/portofolio-2/#comments</comments>
		<pubDate>Mon, 19 May 2008 19:00:14 +0000</pubDate>
		<dc:creator>zaki03@cs.its.ac.id</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.its.ac.id/fisikaitumudah/2008/05/20/portofolio-2/</guid>
		<description><![CDATA[Dalam portofolio ada dua tugas
Tugas 1 :
Dalam tugas ini akan di bahas mengenai fungsi dasr erosi dan dilasi yang merupakan fungsi dasar dari opening dan closing.
Pada tugas ini digunakan sebuah fungsi circularstruct.m .
Berikut ini merupakan image asli

image gray scale

image biner :

image hasil opening

image hasil closing :

image hasil close open :

image hasil open close :

berikut ini [...]]]></description>
			<content:encoded><![CDATA[<p>Dalam portofolio ada dua tugas</p>
<p>Tugas 1 :</p>
<p>Dalam tugas ini akan di bahas mengenai fungsi dasr erosi dan dilasi yang merupakan fungsi dasar dari opening dan closing.</p>
<p>Pada tugas ini digunakan sebuah fungsi circularstruct.m .</p>
<p>Berikut ini merupakan image asli</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/gambarq.jpg" title="gambarq.jpg"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/gambarq.thumbnail.jpg" alt="gambarq.jpg" /></a></p>
<p>image gray scale</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/imqgray.jpg" title="imqgray.jpg"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/imqgray.thumbnail.jpg" alt="imqgray.jpg" /></a></p>
<p>image biner :</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/imqbw.jpg" title="imqbw.jpg"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/imqbw.thumbnail.jpg" alt="imqbw.jpg" /></a></p>
<p>image hasil opening</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/imqopen.jpg" title="imqopen.jpg"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/imqopen.thumbnail.jpg" alt="imqopen.jpg" /></a></p>
<p>image hasil closing :</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/imqclose.jpg" title="imqclose.jpg"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/imqclose.thumbnail.jpg" alt="imqclose.jpg" /></a></p>
<p>image hasil close open :</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/imqcloseopen.jpg" title="imqcloseopen.jpg"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/imqcloseopen.thumbnail.jpg" alt="imqcloseopen.jpg" /></a></p>
<p>image hasil open close :</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/imqopenclose.jpg" title="imqopenclose.jpg"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/imqopenclose.thumbnail.jpg" alt="imqopenclose.jpg" /></a></p>
<p>berikut ini contoh listingnya :</p>
<p><em>SE = circularstruct(1);</em></p>
<p><em>im_o = imopen (bw, SE);</em></p>
<p><em>im_c =imclose(bw, SE);</em></p>
<p>Tugas 2</p>
<p>Pada tugas kali ini kita akan menentukan landmark (titik pojok) dari sebuah lembara jawaban LJK. Kali ini kita akan memerlukan locatelandmark.m</p>
<p>berikut in adalh gambar surf01 dan hasil landmark nya</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/surf01.png" title="surf01.png"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/surf01.thumbnail.png" alt="surf01.png" /></a></p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/hasilimjsurf01.jpg" title="hasilimjsurf01.jpg"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/hasilimjsurf01.thumbnail.jpg" alt="hasilimjsurf01.jpg" /></a></p>
<p>berikut ini adalah gambar surf02 dan hasil landmarknya :</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/surf02.png" title="surf02.png"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/surf02.thumbnail.png" alt="surf02.png" /></a></p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/hasilimjsurf02.jpg" title="hasilimjsurf02.jpg"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/hasilimjsurf02.thumbnail.jpg" alt="hasilimjsurf02.jpg" /></a></p>
<p>berikut ini merupakan gambar surf05 dan hasil landmarknya :</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/surf05.png" title="surf05.png"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/surf05.thumbnail.png" alt="surf05.png" /></a></p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/hasilimsurf05.jpg" title="hasilimsurf05.jpg"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/hasilimsurf05.thumbnail.jpg" alt="hasilimsurf05.jpg" /></a></p>
<p>berikut ini listing dari program locatelandmark.m</p>
<p>% LOCATELANDMARKS - locates landmarks on SURF form<br />
%<br />
% Usage: [tl, tr, bl, br] = locatelandmarks(im)<br />
%<br />
% Argument: im - Image to be processed, assumed binary.<br />
%<br />
% Returns: tl, tr, bl, br<br />
% - Coordinates of the centroids of the top-left, top-right,<br />
% bottom-left and bottom-right landmarks respectively.<br />
% These coordinates are returned as column vectors in the<br />
% form [row; col] for each landmark.<br />
%<br />
% The function should also display the image with the centroids of the<br />
% landmarks overlayed.<br />
function [tl, tr, bl, br] = locatelandmarks(im)</p>
<p>[rows,cols] = size(im);</p>
<p>% initially define landmark coordinates to extremes<br />
tl=[rows;cols];<br />
tr=[rows;0 ];<br />
bl=[0 ;cols];<br />
br=[0 ;0 ];</p>
<p>bw = ~im;</p>
<p>% Note: 8 pixels is the minimum space between landmarks and adjacent blobs<br />
% (TR landmark, surf10.png with a size of 1128×784 pixels)<br />
% Hence SE is proportional to im size, scaled by 8/784</p>
<p>a = 8/784; %scale factor</p>
<p>SE = ones(a*rows, a*cols);</p>
<p>% perform close-open morphology<br />
% Note: a close-open resulted in the landmarks having strighter sides<br />
% compared to open-close<br />
closeopen = imopen(imclose(bw,SE),SE);</p>
<p>% Matrix with each pixel set to its x coordinate<br />
x = ones(rows,1)*[1:cols];<br />
% Matrix with each pixel set to its y coordinate<br />
y = [1:rows]&#8217;*ones(1,cols);</p>
<p>% label all the blobs<br />
[L, num] = bwlabel(closeopen);</p>
<p>% search the blobs to find centers, and then landmarks<br />
for i = 1:num<br />
img = L==i;<br />
area(i) = sum(sum(img));<br />
meanx = sum(sum(double(img).*x))/area(i);<br />
meany = sum(sum(double(img).*y))/area(i);</p>
<p>% determine tl<br />
if tl(1)+tl(2) &gt; meanx + meany<br />
tl = [meanx; meany];<br />
tlindex = i;<br />
end<br />
% determine tr<br />
if tr(1)-tr(2) &gt; meanx - meany<br />
tr = [meanx; meany];<br />
trindex = i;<br />
end<br />
% determine br<br />
if br(1)+br(2) &lt; meanx + meany<br />
br = [meanx; meany];<br />
brindex = i;<br />
end<br />
% determine bl<br />
if bl(1)-bl(2) &lt; meanx - meany<br />
bl = [meanx; meany];<br />
blindex = i;<br />
end<br />
end</p>
<p>% test for upside down form<br />
% Note: tl &gt; bl and tr &gt; br for correctly orientated forms<br />
if area(tlindex) &lt; area(blindex) &amp;&amp; area(trindex) &lt; area(brindex)<br />
warning: &#8216;upside down form&#8217;<br />
locatelandmarks(imrotate(im,180));</p>
<p>else imshow(im)<br />
hold;<br />
landmarks = [tl, tr, br, bl];<br />
plot(landmarks(1,:), landmarks(2,:),&#8217;+r&#8217;,'MarkerSize&#8217;,50,&#8217;LineWidth&#8217;,2);<br />
hold;<br />
end</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.its.ac.id/fisikaitumudah/2008/05/20/portofolio-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PORTOFOLIO 1</title>
		<link>http://blog.its.ac.id/fisikaitumudah/2008/05/19/portofolio-1/</link>
		<comments>http://blog.its.ac.id/fisikaitumudah/2008/05/19/portofolio-1/#comments</comments>
		<pubDate>Mon, 19 May 2008 08:47:50 +0000</pubDate>
		<dc:creator>zaki03@cs.its.ac.id</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.its.ac.id/fisikaitumudah/2008/05/19/portofolio-1/</guid>
		<description><![CDATA[Tugas 1
Tugas pertama yang diberikan bu Anny adalah mengolah image &#8216;lego.png menjadi sebuah image biner
caranya adalah :
im2=imread(&#8217;lego11.png&#8217;);
bw = im2bw(im2, 0.635);
bw = ~bw;
dibawah ini adalah image asli

lego11.png
berikut ini adalha hasil dari binerisasi

Tugas 2
mengolah image dengan memisahkan obyek yang satu dengan yang lain dengan melakukan pelabelan citra dan kemudian untuk dicari momennya. berikut beberapa contohnya:

hasil diatas diperoleh [...]]]></description>
			<content:encoded><![CDATA[<p>Tugas 1</p>
<p>Tugas pertama yang diberikan bu Anny adalah mengolah image &#8216;lego.png menjadi sebuah image biner</p>
<p>caranya adalah :</p>
<p>im2=imread(&#8217;lego11.png&#8217;);</p>
<p>bw = im2bw(im2, 0.635);</p>
<p>bw = ~bw;</p>
<p>dibawah ini adalah image asli</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/lego11.png" title="lego11.png"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/lego11.thumbnail.png" alt="lego11.png" /></a></p>
<p>lego11.png</p>
<p>berikut ini adalha hasil dari binerisasi</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/bw3.jpg" title="bw3.jpg"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/bw3.thumbnail.jpg" alt="bw3.jpg" /></a></p>
<p>Tugas 2</p>
<p>mengolah image dengan memisahkan obyek yang satu dengan yang lain dengan melakukan pelabelan citra dan kemudian untuk dicari momennya. berikut beberapa contohnya:</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/bw23.jpg" title="bw23.jpg"><img src="http://blog.its.ac.id/fisikaitumudah/files/2008/05/bw23.thumbnail.jpg" alt="bw23.jpg" /></a></p>
<p>hasil diatas diperoleh dengan menggunakan listing moments.m</p>
<p>% MOMENTS<br />
%<br />
% Function calculates the moments of a binary image and returns<br />
% the centroid, the angle of axis of minimum inertia, and a measure<br />
% of ’roundness’. The function assumes that there is only one object<br />
% in the binary image.<br />
%<br />
% function [area,centroid, theta, roundness] = moments(im)<br />
%<br />
% Argument: im - a binary image containing values of 0 or 1<br />
%<br />
% Returns: centroid - a 2 element vector<br />
% theta - the angle of axis of minimum inertia (radians)<br />
% roundness - ratio of minimum inertia/maximum inertia.<br />
%<br />
% Note that positive x is to the right and positive y is downwards<br />
% thus angles are positive clockwise.<br />
%<br />
% The function also displays the image and overlays the position of<br />
% the centroid and the axis of minimum inertia.</p>
<p>function [area, centroid, thetamin, roundness] = moments(im)</p>
<p>%im = imread (im);<br />
[rows,cols] = size(im);<br />
x = ones(rows,1)*[1:cols]; % Matrix with each pixel set to its x coordinate<br />
y = [1:rows]&#8217;*ones(1,cols); % Matrix with each pixel set to its y coordinate</p>
<p>area = sum(sum(im));<br />
meanx = sum(sum(double(im).*x))/area<br />
meany = sum(sum(double(im).*y))/area<br />
centroid = [meanx, meany];</p>
<p>% coordinates changed with respect to centre of mass<br />
x = x - meanx;<br />
y = y - meany;</p>
<p>a = sum(sum(double(im).*x.^2));<br />
b = sum(sum(double(im).*x.*y))*2;<br />
c = sum(sum(double(im).*y.^2));</p>
<p>denom = b^2 + (a-c)^2;</p>
<p>if denom == 0<br />
% let thetas equal arbitrary angles<br />
thetamin = 2*pi*rand;<br />
thetamax = 2*pi*rand;<br />
roundness = 1;<br />
else<br />
sin2thetamin = b/sqrt(denom); %positive solution<br />
sin2thetamax = -sin2thetamin;<br />
cos2thetamin = (a-c)/sqrt(denom); %positive solution<br />
cos2thetamax = -cos2thetamin;</p>
<p>thetamin = atan2(sin2thetamin, cos2thetamin)/2;<br />
thetamax = atan2(sin2thetamax, cos2thetamax)/2;<br />
Imin = 0.5*(c+a) - 0.5*(a-c)*cos2thetamin - 0.5*b*sin2thetamin;<br />
Imax = 0.5*(c+a) - 0.5*(a-c)*cos2thetamax - 0.5*b*sin2thetamax;<br />
roundness = Imin/Imax;<br />
end</p>
<p>% draw an axis proportional to object size<br />
% 0.5 takes into acount lines with roundness = 0<br />
% 5 takes into acount small objects, so axis is still visible.<br />
rho = sqrt(area)/(roundness + 0.5) + 5 ;<br />
[X1,Y1] = pol2cart(thetamin, rho);<br />
[X2,Y2] = pol2cart(thetamin + pi, rho);</p>
<p>imshow(im);<br />
hold;<br />
line([X1 + meanx, X2 + meanx],[Y1 + meany, Y2 + meany])<br />
plot(meanx, meany,&#8217;r+&#8217;)<br />
title([&#8217;Luas Area Object: &#8216;,num2str(area),&#8217; pixel&#8217;])<br />
hold;</p>
<p>cara menjalankannya dengan cara</p>
<p>&gt;&gt; im2 = imread(&#8217;lego11.png&#8217;);<br />
&gt;&gt; imbw= im2bw(im2, 0.635);<br />
&gt;&gt; imbw = ~imbw;<br />
&gt;&gt; [BWL,num] = bwlabel(imbw);<br />
&gt;&gt; [area, centroid, theta, roundness] = moments2 (nomor_bwl ) %nomor _bwl diganti dengan nomor label pada hasil diatas diperoleh dengan nomor label 2.</p>
<p>program akan menunjukkan hal berikut :</p>
<p>meanx =</p>
<p>198.9242</p>
<p>meany =</p>
<p>257.5392</p>
<p>Current plot held<br />
Current plot released</p>
<p>area =</p>
<p>1992</p>
<p>centroid =</p>
<p>198.9242  257.5392</p>
<p>theta =</p>
<p>-0.3306</p>
<p>roundness =</p>
<p>0.0033</p>
<p><a href="http://blog.its.ac.id/fisikaitumudah/files/2008/05/bw23.jpg" title="bw23.jpg"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.its.ac.id/fisikaitumudah/2008/05/19/portofolio-1/feed/</wfw:commentRss>
		</item>
		<item>
		<title>menghitung pita gelap dan pita terang (Interferensi gelombang)</title>
		<link>http://blog.its.ac.id/fisikaitumudah/2007/09/27/menghitung-pita-gelap-dan-pita-terang-interferensi-gelombang/</link>
		<comments>http://blog.its.ac.id/fisikaitumudah/2007/09/27/menghitung-pita-gelap-dan-pita-terang-interferensi-gelombang/#comments</comments>
		<pubDate>Wed, 26 Sep 2007 23:00:03 +0000</pubDate>
		<dc:creator>zaki03@cs.its.ac.id</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.its.ac.id/fisikaitumudah/2007/09/27/menghitung-pita-gelap-dan-pita-terang-interferensi-gelombang/</guid>
		<description><![CDATA[Saya mendapatkan ide tentang cara mudah untuk menghitung pita terang ke n (misal :ke dua) dan pita gelap ke m ketika saya mengajar privat salah satu murid saya. Alhamdulillah.
Berikut akan kami berikan bagaimana membuat perhitungan jarak pita gelap dan pin juga pita terang menjadi mudah.
Kuncinya adalah menghitung jarak  pita gelap pertama dengan  pusat [...]]]></description>
			<content:encoded><![CDATA[<p>Saya mendapatkan ide tentang cara mudah untuk menghitung pita terang ke n (misal :ke dua) dan pita gelap ke m ketika saya mengajar privat salah satu murid saya. Alhamdulillah.</p>
<p>Berikut akan kami berikan bagaimana membuat perhitungan jarak pita gelap dan pin juga pita terang menjadi mudah.</p>
<p>Kuncinya adalah menghitung jarak  pita gelap pertama dengan  pusat (terang pusat). misala setelah mendapatkan y pita gelap pertama adalah y=0,4 mm maka y pita terang pertama adalah y=0.8 mm pita gelap kedua adlah y= 1,2 mm, pita terang ke dua adalah y=1,6 mm,  pita gelap ke tiga adalah y = 2,0 mm dan seterusnya.</p>
<p>jadi pita teang pertama dengan pita gelap pertama ada perbedaaan 0,4 mm dan seterusnya&#8230;</p>
<p>jadi nilai y pita gelap pertama, pita terang pertama, pita gelap kedua dst adlah kelipatan angka yang konstant (dalam kasus ini 0,4 mm)</p>
<p>mudah kan perhitungannnya ?</p>
<p>selamat mencoba</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.its.ac.id/fisikaitumudah/2007/09/27/menghitung-pita-gelap-dan-pita-terang-interferensi-gelombang/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Intermezzo : Keindahan Matematika</title>
		<link>http://blog.its.ac.id/fisikaitumudah/2007/09/14/intermezzo-keindahan-matematika/</link>
		<comments>http://blog.its.ac.id/fisikaitumudah/2007/09/14/intermezzo-keindahan-matematika/#comments</comments>
		<pubDate>Fri, 14 Sep 2007 03:22:05 +0000</pubDate>
		<dc:creator>zaki03@cs.its.ac.id</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.its.ac.id/fisikaitumudah/2007/09/14/intermezzo-keindahan-matematika/</guid>
		<description><![CDATA[Dapat dari milis
Keindahan Matematika !
1 x 8 + 1 = 9
12 x 8 + 2 = 98
123 x 8 + 3 = 987
1234 x 8 + 4 = 9876
12345 x 8 + 5 = 98765
123456 x 8 + 6 = 987654
1234567 x 8 + 7 = 9876543
12345678 x 8 + 8 = 98765432
123456789 x 8 [...]]]></description>
			<content:encoded><![CDATA[<p>Dapat dari milis</p>
<p>Keindahan Matematika !</p>
<p>1 x 8 + 1 = 9<br />
12 x 8 + 2 = 98<br />
123 x 8 + 3 = 987<br />
1234 x 8 + 4 = 9876<br />
12345 x 8 + 5 = 98765<br />
123456 x 8 + 6 = 987654<br />
1234567 x 8 + 7 = 9876543<br />
12345678 x 8 + 8 = 98765432<br />
123456789 x 8 + 9 = 987654321</p>
<p>1 x 9 + 2 = 11<br />
12 x 9 + 3 = 111<br />
123 x 9 + 4 = 1111<br />
1234 x 9 + 5 = 11111<br />
12345 x 9 + 6 = 111111<br />
123456 x 9 + 7 = 1111111<br />
1234567 x 9 + 8 = 11111111<br />
12345678 x 9 + 9 = 111111111<br />
123456789 x 9 +10= 1111111111</p>
<p>9 x 9 + 7 = 88<br />
98 x 9 + 6 = 888<br />
987 x 9 + 5 = 8888<br />
9876 x 9 + 4 = 88888<br />
98765 x 9 + 3 = 888888<br />
987654 x 9 + 2 = 8888888<br />
9876543 x 9 + 1 = 88888888<br />
98765432 x 9 + 0 = 888888888</p>
<p>Brilliant, isn&#8217;t it?<br />
And look at this symmetry:</p>
<p>1 x 1 = 1<br />
11 x 11 = 121<br />
111 x 111 = 12321<br />
1111 x 1111 = 1234321<br />
11111 x 11111 = 123454321<br />
111111 x 111111 = 12345654321<br />
1111111 x 1111111 = 1234567654321<br />
11111111 x 11111111 = 123456787654321<br />
111111111 x 111111111=123456789 87654321</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.its.ac.id/fisikaitumudah/2007/09/14/intermezzo-keindahan-matematika/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Menghitung waktu untuk mencapai titik puncak tanpa rumus</title>
		<link>http://blog.its.ac.id/fisikaitumudah/2007/09/14/menghitung-waktu-untuk-mencapai-titik-puncak-tanpa-rumus/</link>
		<comments>http://blog.its.ac.id/fisikaitumudah/2007/09/14/menghitung-waktu-untuk-mencapai-titik-puncak-tanpa-rumus/#comments</comments>
		<pubDate>Fri, 14 Sep 2007 03:17:16 +0000</pubDate>
		<dc:creator>zaki03@cs.its.ac.id</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.its.ac.id/fisikaitumudah/2007/09/14/menghitung-waktu-untuk-mencapai-titik-puncak-tanpa-rumus/</guid>
		<description><![CDATA[Soal : Sebuah peluru di tembakkan dengan kecepatan awal Vo=100 m/s. Berapakah waktu yang diperlukan peluru tersebut untuk mencapai titik tertinggi ?
Jawaban :
Untuk menjawab soal ini dengan tanpa rumus, perlulah kita mengerti bahwa suatu benda yang bergerak ke atas akan diperlambat kecepatannya oleh grafitasi bumi. Kecepatan benda tersebut akan berkurang sebesar 10 m/s tiap detik. [...]]]></description>
			<content:encoded><![CDATA[<p>Soal : Sebuah peluru di tembakkan dengan kecepatan awal Vo=100 m/s. Berapakah waktu yang diperlukan peluru tersebut untuk mencapai titik tertinggi ?</p>
<p>Jawaban :</p>
<p>Untuk menjawab soal ini dengan tanpa rumus, perlulah kita mengerti bahwa suatu benda yang bergerak ke atas akan diperlambat kecepatannya oleh grafitasi bumi. Kecepatan benda tersebut akan berkurang sebesar 10 m/s tiap detik.  Karena tiap detik kecepatannya berkurang 10 m/s Suatu benda dengan kecepatan awal 100 m/s akan menjadi berkecepatan  0 m/s dalam waktu 10 detik (ingat!, ketika berada pada titik tertinggi kecepatan suatu benda adalah 0 (nol) ). sehingga waktu yang dibutuhkan oleh peluru tersebut untuk mencapai titik puncak adalah 10 sekon.</p>
<p>Mudah sekali khan ?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.its.ac.id/fisikaitumudah/2007/09/14/menghitung-waktu-untuk-mencapai-titik-puncak-tanpa-rumus/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
