├── Code ├── BE.m ├── BE.txt ├── BE1.m ├── Final_code.m ├── Final_code_mod_140315.m ├── New Text Document.txt ├── PCB LIST.txt ├── Thumbs.db ├── Untitled.m ├── Untitled4.m ├── code.m └── registration.m ├── Documentation ├── CERTIFICATE.docx ├── CHAPTER 1.docx ├── CHAPTER 2.docx ├── CHAPTER 3.docx ├── CHAPTER 4.docx ├── CHAPTER 5.docx ├── CONTENTS.docx └── EMBOSSING.docx ├── Images ├── Thumbs.db ├── Tomato2.jpg ├── apple3.bmp ├── baby.bmp ├── babyelephant.jpg ├── babyincradle.png ├── coconut.bmp ├── crow.jpg ├── deer1.JPG ├── deer4.jpg ├── dewdrop.jpg ├── dove1.jpg ├── eye1.jpg ├── eye2.jpg ├── f1.bmp ├── fl1.bmp ├── flower.jpg ├── flower2.JPG ├── goldfish.tif ├── hibiscus.tif ├── horse.jpg ├── humm.jpg ├── icecream.jpg ├── image1.bmp ├── image2.bmp ├── image3.bmp ├── image4.bmp ├── key.jpg ├── keyimg1.PNG ├── lavender.jpg ├── lenna.jpg ├── lotus.jpg ├── mixedfruit.bmp ├── monarch.jpg ├── morph1.bmp ├── morph2.bmp ├── myna.jpg ├── penguin.jpg ├── puppy.jpg ├── rose.jpg ├── sunflower2.jpg ├── tajmahal1.jpg ├── tigerpub.jpg └── zoneplate.png ├── PCB-Database ├── pcb1.jpg ├── pcb1_left.jpg ├── pcb1_missingpinhole.jpg ├── pcb1_openckt.jpg ├── pcb1_pinhole.jpg ├── pcb1_rt.jpg ├── pcb1_shortckt.jpg ├── pcb2.jpg ├── pcb2_missingpinhole.jpg ├── pcb2_openckt.jpg ├── pcb2_pinhole.jpg ├── pcb2_shortckt.jpg ├── pcb3.jpg ├── pcb3_missingpinhole.jpg ├── pcb3_openckt.jpg ├── pcb3_shortckt.jpg ├── smple01.jpg ├── smple01.png ├── smple02(short).jpg ├── smple02(short).png ├── smple03.gif ├── smple03.jpg ├── smple04(miss_hole).jpg └── smple04.gif ├── Paper.pdf ├── References ├── Defect Classification.pdf ├── Reference_1.pdf ├── Reference_2.pdf ├── Reference_3.pdf ├── Reference_4.pdf ├── Reference_5.pdf ├── Reference_6.pdf ├── Reference_7.pdf ├── Reference_8.pdf ├── Thresholding_1.pdf └── Thresholding_2.pdf └── pcbdatabase.zip /Code/BE.m: -------------------------------------------------------------------------------- 1 | clear all 2 | a=imread('pcb1.jpg'); 3 | a1=255-a; 4 | b=imread('pcb1_openckt.jpg'); 5 | b2=rgb2gray(b); 6 | b1=255-b2; 7 | [m n]=size(b1); 8 | t=input('enter the threshold parameter:') 9 | for i=1:m 10 | for j=1:n 11 | if b1(i,j)100) 37 | rgbimg(i,j,:) = [192,0,0]; 38 | asd=[asd; i j]; 39 | end 40 | end 41 | end 42 | subplot(3,1,1),imshow(a1),title('original image') 43 | subplot (3,1,2),imshow(b1),title('negative image') 44 | subplot (3,1,3),imshow(rgbimg),title('subtracted image') 45 | xlabel(sprintf('threshold value is %g',t)) 46 | case 2 % missing pinhole 47 | for i=1:m 48 | for j=1:n 49 | if b1(i,j)100) 64 | rgbimg(i,j,:) = [100,100,255]; 65 | asd=[asd; i j]; 66 | end 67 | end 68 | end 69 | subplot(3,1,1),imshow(a1),title('original image') 70 | subplot (3,1,2),imshow(b1),title('negative image') 71 | subplot (3,1,3),imshow(rgbimg),title('defected PCB image with missing holes') 72 | xlabel(sprintf('threshold value is %g',t)) 73 | case 3 % pinholes 74 | for i=1:m 75 | for j=1:n 76 | if b1(i,j)100) 97 | rgbimg(i,j,:) = [175,185,190]; 98 | asd=[asd; i j]; 99 | end 100 | end 101 | end 102 | subplot(3,1,1),imshow(a1),title('original image') 103 | subplot (3,1,2),imshow(b1),title('negative image') 104 | subplot (3,1,3),imshow(rgbimg),title('subtracted image') 105 | xlabel(sprintf('threshold value is %g',t)) 106 | case 4 %short ckt 107 | for i=1:m 108 | for j=1:n 109 | if b1(i,j)100) 124 | rgbimg(i,j,:) = [200,200,200]; 125 | asd=[asd; i j]; 126 | end 127 | end 128 | end 129 | subplot(3,1,1),imshow(a1),title('original image') 130 | subplot (3,1,2),imshow(b1),title('negative image') 131 | subplot (3,1,3),imshow(rgbimg),title('defected PCB image with missing holes') 132 | xlabel(sprintf('threshold value is %g',t)) 133 | end -------------------------------------------------------------------------------- /Code/Final_code_mod_140315.m: -------------------------------------------------------------------------------- 1 | clear all 2 | % a=imread('C:\Users\Skywalker\Desktop\BE project\Database\pcb1.jpg'); 3 | %a1=255-a; 4 | %a1=rgb2gray(a1); 5 | % img=input('enter the image to be checked') 6 | % b=imread(img); 7 | %b2=rgb2gray(b); 8 | 9 | a=imread('C:\Users\Skywalker\Desktop\BE project\Database\pcb1.jpg'); 10 | a1=255-a; 11 | a1=rgb2gray(a1); 12 | img=input('enter the image to be checked') 13 | b=imread(img); 14 | 15 | %b2=imread('C:\Users\Skywalker\Desktop\BE project\Database\pcb1_openckt.jpg'); 16 | b1=rgb2gray(b); 17 | b1=255-b1; 18 | [m n]=size(a1); 19 | 20 | [m n]=size(b1); 21 | b2=b1; 22 | a2=a1; 23 | for i=1:m 24 | for j=1:n 25 | if b2(i,j)>0 26 | b2(i,j)=255; 27 | else b2(i,j)=0; 28 | end 29 | end 30 | end 31 | for i=1:m 32 | for j=1:n 33 | if a2(i,j)>0 34 | a2(i,j)=255; 35 | else a2(i,j)=0; 36 | end 37 | end 38 | end 39 | figure; 40 | imshow(a2); 41 | figure; 42 | imshow(b2); 43 | Defective_black=0; 44 | Defective_white=0; 45 | for i=1:m 46 | for j=1:n 47 | if b2(i,j)==0 48 | Defective_black=Defective_black+1; 49 | else 50 | Defective_white=Defective_white+1; 51 | end 52 | end 53 | end 54 | Original_black=0; 55 | Original_white=0; 56 | for i=1:m 57 | for j=1:n 58 | if a2(i,j)==0 59 | Original_black=Original_black+1; 60 | else 61 | Original_white=Original_white+1; 62 | end 63 | end 64 | end 65 | disp('Defective_white') 66 | disp(Defective_white) 67 | disp('Original_white') 68 | disp(Original_white) 69 | disp('Defective_black') 70 | disp(Defective_black) 71 | disp('Original_black') 72 | disp(Original_black) 73 | if (Defective_whiteOriginal_black) 74 | disp('the defect is either with missing hole or short ckt'); 75 | inp=2; 76 | else 77 | disp('the defect is either with Extra pin hole or open ckt'); 78 | inp=1; 79 | end 80 | 81 | [m n]=size(b2); 82 | 83 | t=input('enter the threshold parameter:') 84 | %inp=input('enter the type of error to be checked from PCB 1-open cuts or Pinholes , 2-missing holes or short circuit'); 85 | switch(inp) 86 | case 1 %Open Cuts or Pinholes 87 | for i=1:m 88 | for j=1:n 89 | if b1(i,j)100) 110 | rgbimg(i,j,:) = [192,0,0]; 111 | asd=[asd; i j]; 112 | end 113 | end 114 | end 115 | asd1=[];asd2=[]; 116 | cnt_val=[];cnt1=0;iii=1;tru_val=0; fnd_val=0; 117 | xx=0;nw=0;jj=1; 118 | for ii=1:length(asd) 119 | 120 | 121 | jj=jj+xx; 122 | 123 | if(jj<=length(asd)) 124 | temp=asd(jj); 125 | temp 126 | xx=0; 127 | %if(asd(ii)~=temp) 128 | fnd_val=(strmatch(temp,asd(:,:))); 129 | fnd_val 130 | if(length(fnd_val)>1) 131 | tru_val=fnd_val(1); 132 | xx=length(fnd_val); 133 | xx 134 | else 135 | tru_val=fnd_val; 136 | xx=1; 137 | end 138 | %if(strmatch(asd(tru_val),asd1(:,:))==0) 139 | cnt_val=[cnt_val; xx]; 140 | asd1=[asd1 asd(sum(cnt_val))]; 141 | end 142 | % nw=xx; 143 | % nw 144 | 145 | end 146 | defect_val=[]; 147 | % for i=1:length(asd) 148 | % rw=asd(i,1); 149 | % cl=asd(i,2); 150 | % defect_val=[defect_val; rgbimg(rw,cl)]; 151 | % end 152 | % tru_val=fnd_val(1); 153 | %if(strmatch(asd(tru_val),asd1(:,:))==0) 154 | %asd1=[asd1; asd(tru_val) ] ; 155 | nw_cnt=0;nw_mat=[]; 156 | for ii=1:length(cnt_val)-1 157 | nw_cnt=0; 158 | if (cnt_val(ii+1)==cnt_val(ii)&& (cnt_val(ii)==1)) 159 | nw_cnt=nw_cnt+1; 160 | nw_mat=[nw_mat; nw_cnt]; 161 | end 162 | end 163 | if(nw_mat~=0) 164 | disp('Defective PCB with open circuit'); 165 | 166 | else 167 | disp('Defective PCB with extra pinholes'); 168 | 169 | end 170 | subplot(3,1,1),imshow(a1),title('original image') 171 | subplot (3,1,2),imshow(b1),title('negative image') 172 | subplot (3,1,3),imshow(rgbimg),title('subtracted image') 173 | xlabel(sprintf('threshold value is %g',t)) 174 | case 2 % Short Ckt or Missing holes 175 | for i=1:m 176 | for j=1:n 177 | if b1(i,j)100) 192 | rgbimg(i,j,:) = [100,100,255]; 193 | asd=[asd; i j]; 194 | end 195 | end 196 | end 197 | % asd1=[]; 198 | % cnt=0; 199 | % for ii=1:length(asd) 200 | % temp=asd(1,1); 201 | % if(asd(ii,1)~=temp) 202 | % asd1=asd; 203 | % cnt=cnt+1; 204 | % end 205 | % end 206 | % if(cnt>1) 207 | % disp('it is opencut'); 208 | % else 209 | % disp('it is pinhole'); 210 | % end 211 | subplot(3,1,1),imshow(a1),title('original image') 212 | subplot (3,1,2),imshow(b1),title('negative image') 213 | subplot (3,1,3),imshow(rgbimg),title('defected PCB image with missing holes') 214 | xlabel(sprintf('threshold value is %g',t)) 215 | end 216 | % case 3 % pinholes 217 | % for i=1:m 218 | % for j=1:n 219 | % if b1(i,j)100) 240 | % rgbimg(i,j,:) = [0,185,0]; 241 | % asd=[asd; i j]; 242 | % end 243 | % end 244 | % end 245 | % asd1=[];asd2=[]; 246 | % cnt=0;cnt1=0;iii=1; 247 | % for iii=1:10 248 | % for ii=1+cnt1:length(asd) 249 | % jj=1; 250 | % %cnt1=0; 251 | % cnt=0; 252 | % % asd1=[]; 253 | % temp=asd(jj+cnt1,1); 254 | % if(asd(ii,1)~=temp) 255 | % 256 | % 257 | % asd1=[asd1; ii ] ; 258 | % cnt=cnt+1; 259 | % 260 | % 261 | % %cnt1=cnt; 262 | % 263 | % % asd1=[]; 264 | % % 265 | % %cnt=cnt+1; 266 | % end 267 | % cnt1 268 | % 269 | % 270 | % cnt=0; 271 | % end 272 | % cnt1=cnt; 273 | % asd2(iii)= length(asd1); 274 | % asd1=[]; 275 | % end 276 | % % asd2=[]; 277 | % % for i=1:length(asd) 278 | % % if (asd~=asd1) 279 | % % asd2=asd; 280 | % % end 281 | % % end 282 | % if(cnt>1) 283 | % disp('it is opencut'); 284 | % else 285 | % disp('it is pinhole'); 286 | % end 287 | % 288 | % subplot(3,1,1),imshow(a1),title('original image') 289 | % subplot (3,1,2),imshow(b1),title('negative image') 290 | % subplot (3,1,3),imshow(rgbimg),title('subtracted image') 291 | % xlabel(sprintf('threshold value is %g',t)) 292 | % case 4 %short ckt 293 | % for i=1:m 294 | % for j=1:n 295 | % if b1(i,j)100) 310 | % rgbimg(i,j,:) = [200,200,200]; 311 | % asd=[asd; i j]; 312 | % end 313 | % end 314 | % end 315 | % end 316 | % subplot(3,1,1),imshow(a1),title('original image') 317 | % subplot (3,1,2),imshow(b1),title('negative image') 318 | % subplot (3,1,3),imshow(rgbimg),title('defected PCB image with missing holes') 319 | % xlabel(sprintf('threshold value is %g',t)) -------------------------------------------------------------------------------- /Code/New Text Document.txt: -------------------------------------------------------------------------------- 1 | clear all 2 | % a=imread('C:\Users\Skywalker\Desktop\BE project\Database\pcb1.jpg'); 3 | %a1=255-a; 4 | %a1=rgb2gray(a1); 5 | % img=input('enter the image to be checked') 6 | % b=imread(img); 7 | %b2=rgb2gray(b); 8 | 9 | a=imread('C:\Users\Skywalker\Desktop\BE project\Database\pcb1.jpg'); 10 | a1=255-a; 11 | a1=rgb2gray(a1); 12 | img=input('enter the image to be checked') 13 | b=imread(img); 14 | 15 | %b2=imread('C:\Users\Skywalker\Desktop\BE project\Database\pcb1_openckt.jpg'); 16 | b1=rgb2gray(b); 17 | b1=255-b1; 18 | [m n]=size(a1); 19 | 20 | [m n]=size(b1); 21 | b2=b1; 22 | a2=a1; 23 | for i=1:m 24 | for j=1:n 25 | if b2(i,j)>0 26 | b2(i,j)=255; 27 | else b2(i,j)=0; 28 | end 29 | end 30 | end 31 | for i=1:m 32 | for j=1:n 33 | if a2(i,j)>0 34 | a2(i,j)=255; 35 | else a2(i,j)=0; 36 | end 37 | end 38 | end 39 | figure; 40 | imshow(a2); 41 | figure; 42 | imshow(b2); 43 | Defective_black=0; 44 | Defective_white=0; 45 | for i=1:m 46 | for j=1:n 47 | if b2(i,j)==0 48 | Defective_black=Defective_black+1; 49 | else 50 | Defective_white=Defective_white+1; 51 | end 52 | end 53 | end 54 | Original_black=0; 55 | Original_white=0; 56 | for i=1:m 57 | for j=1:n 58 | if a2(i,j)==0 59 | Original_black=Original_black+1; 60 | else 61 | Original_white=Original_white+1; 62 | end 63 | end 64 | end 65 | disp('%Defective_white') 66 | disp(Defective_white) 67 | disp('Original_white') 68 | disp(Original_white) 69 | disp('Defective_black') 70 | disp(Defective_black) 71 | disp('Original_black') 72 | disp(Original_black) 73 | if (Defective_whiteOriginal_black) 74 | disp('the defect is either with missing hole or short ckt'); 75 | else 76 | disp('the defect is either with Extra pin hole or open ckt'); 77 | end 78 | 79 | [m n]=size(b2); 80 | 81 | t=input('enter the threshold parameter:') 82 | inp=input('enter the type of error to be checked from PCB 1-open cuts , 2-missing holes ,3-pinholes , 4-short circuit'); 83 | switch(inp) 84 | case 1 %open circuit 85 | for i=1:m 86 | for j=1:n 87 | if b1(i,j)100) 108 | rgbimg(i,j,:) = [192,0,0]; 109 | asd=[asd; i j]; 110 | end 111 | end 112 | end 113 | subplot(3,1,1),imshow(a1),title('original image') 114 | subplot (3,1,2),imshow(b1),title('negative image') 115 | subplot (3,1,3),imshow(rgbimg),title('subtracted image') 116 | xlabel(sprintf('threshold value is %g',t)) 117 | case 2 % missing pinhole 118 | for i=1:m 119 | for j=1:n 120 | if b1(i,j)100) 135 | rgbimg(i,j,:) = [100,100,255]; 136 | asd=[asd; i j]; 137 | end 138 | end 139 | end 140 | % asd1=[]; 141 | % cnt=0; 142 | % for ii=1:length(asd) 143 | % temp=asd(1,1); 144 | % if(asd(ii,1)~=temp) 145 | % asd1=asd; 146 | % cnt=cnt+1; 147 | % end 148 | % end 149 | % if(cnt>1) 150 | % disp('it is opencut'); 151 | % else 152 | % disp('it is pinhole'); 153 | % end 154 | subplot(3,1,1),imshow(a1),title('original image') 155 | subplot (3,1,2),imshow(b1),title('negative image') 156 | subplot (3,1,3),imshow(rgbimg),title('defected PCB image with missing holes') 157 | xlabel(sprintf('threshold value is %g',t)) 158 | case 3 % pinholes 159 | for i=1:m 160 | for j=1:n 161 | if b1(i,j)100) 182 | rgbimg(i,j,:) = [0,185,0]; 183 | asd=[asd; i j]; 184 | end 185 | end 186 | end 187 | asd1=[];asd2=[]; 188 | cnt=0;cnt1=0;iii=1; 189 | for iii=1:10 190 | for ii=1+cnt1:length(asd) 191 | jj=1; 192 | %cnt1=0; 193 | cnt=0; 194 | % asd1=[]; 195 | temp=asd(jj+cnt1,1); 196 | if(asd(ii,1)~=temp) 197 | 198 | 199 | asd1=[asd1; ii ] ; 200 | cnt=cnt+1; 201 | 202 | 203 | %cnt1=cnt; 204 | 205 | % asd1=[]; 206 | % 207 | %cnt=cnt+1; 208 | end 209 | cnt1 210 | 211 | 212 | cnt=0; 213 | end 214 | cnt1=cnt; 215 | asd2(iii)= length(asd1); 216 | asd1=[]; 217 | end 218 | % asd2=[]; 219 | % for i=1:length(asd) 220 | % if (asd~=asd1) 221 | % asd2=asd; 222 | % end 223 | % end 224 | if(cnt>1) 225 | disp('it is opencut'); 226 | else 227 | disp('it is pinhole'); 228 | end 229 | 230 | subplot(3,1,1),imshow(a1),title('original image') 231 | subplot (3,1,2),imshow(b1),title('negative image') 232 | subplot (3,1,3),imshow(rgbimg),title('subtracted image') 233 | xlabel(sprintf('threshold value is %g',t)) 234 | case 4 %short ckt 235 | for i=1:m 236 | for j=1:n 237 | if b1(i,j)100) 252 | rgbimg(i,j,:) = [200,200,200]; 253 | asd=[asd; i j]; 254 | end 255 | end 256 | end 257 | end 258 | subplot(3,1,1),imshow(a1),title('original image') 259 | subplot (3,1,2),imshow(b1),title('negative image') 260 | subplot (3,1,3),imshow(rgbimg),title('defected PCB image with missing holes') 261 | xlabel(sprintf('threshold value is %g',t)) -------------------------------------------------------------------------------- /Code/PCB LIST.txt: -------------------------------------------------------------------------------- 1 | ORIGINAL PCB=pcb1.jpg 2 | 3 | DEFECTIVE PCB:-> 4 | 5 | MISSING HOLE PCB =pcb1_missingpinhole.jpg 6 | 7 | 8 | OPEN CIRCUIT PCB=pcb1_openckt.jpg 9 | 10 | 11 | SHORT CIRCUIT PCB=pcb1_shortckt.jpg 12 | 13 | 14 | PINHOLE PCB=pcb1p.jpg -------------------------------------------------------------------------------- /Code/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Code/Thumbs.db -------------------------------------------------------------------------------- /Code/Untitled.m: -------------------------------------------------------------------------------- 1 | I = imread('C:\Users\Skywalker\Desktop\BE project\Database\pcb1.jpg'); 2 | %J = imrotate(I,35,'bilinear'); 3 | figure(1); 4 | imshow(I) 5 | %I = imread('cameraman.tif'); 6 | J = imread('C:\Users\Skywalker\Desktop\BE project\Database\pcb1_left.jpg'); 7 | figure(2); 8 | imshow(J); 9 | C = imfuse(I,J,'blend','Scaling','joint'); 10 | figure(3) 11 | imshow(C); 12 | imshowpair(I,J,'Scaling','joint'); 13 | [optimizer, metric]= imregconfig('multimodal') 14 | tformEstimate = imregtform(J, I, 'affine', optimizer, metric); 15 | moving_reg = imregister(J,I,'affine',optimizer,metric); 16 | figure(4); 17 | imshowpair(I,moving_reg,'Scaling','joint'); 18 | %imshowpair(I, moving_reg,'diff'); -------------------------------------------------------------------------------- /Code/Untitled4.m: -------------------------------------------------------------------------------- 1 | img = imread('C:\Users\Skywalker\Desktop\BE project\pcb1.jpg'); 2 | rgbimg = repmat(img,[1 1 3]); 3 | imshow(rgbimg); 4 | [m,n]=size(img); 5 | for i=1:m 6 | for j=1:n 7 | if(img(i,j,:)>100) 8 | rgbimg(i,j,:) = [100,69,96]; 9 | end 10 | end 11 | end 12 | imshow(rgbimg); -------------------------------------------------------------------------------- /Code/code.m: -------------------------------------------------------------------------------- 1 | clc 2 | clear all 3 | close all 4 | a=imread('pcb_defective.jpg'); 5 | n1=imcomplement(a) 6 | imshow(n1); -------------------------------------------------------------------------------- /Code/registration.m: -------------------------------------------------------------------------------- 1 | I=imread('C:\Users\Skywalker\Desktop\BE project\Database\pcb1.jpg'); 2 | J = imrotate(I,35,'bilinear'); 3 | [r1,c1]=size(I); 4 | [r2,c2]=size(J); 5 | 6 | 7 | -------------------------------------------------------------------------------- /Documentation/CERTIFICATE.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Documentation/CERTIFICATE.docx -------------------------------------------------------------------------------- /Documentation/CHAPTER 1.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Documentation/CHAPTER 1.docx -------------------------------------------------------------------------------- /Documentation/CHAPTER 2.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Documentation/CHAPTER 2.docx -------------------------------------------------------------------------------- /Documentation/CHAPTER 3.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Documentation/CHAPTER 3.docx -------------------------------------------------------------------------------- /Documentation/CHAPTER 4.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Documentation/CHAPTER 4.docx -------------------------------------------------------------------------------- /Documentation/CHAPTER 5.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Documentation/CHAPTER 5.docx -------------------------------------------------------------------------------- /Documentation/CONTENTS.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Documentation/CONTENTS.docx -------------------------------------------------------------------------------- /Documentation/EMBOSSING.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Documentation/EMBOSSING.docx -------------------------------------------------------------------------------- /Images/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/Thumbs.db -------------------------------------------------------------------------------- /Images/Tomato2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/Tomato2.jpg -------------------------------------------------------------------------------- /Images/apple3.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/apple3.bmp -------------------------------------------------------------------------------- /Images/baby.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/baby.bmp -------------------------------------------------------------------------------- /Images/babyelephant.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/babyelephant.jpg -------------------------------------------------------------------------------- /Images/babyincradle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/babyincradle.png -------------------------------------------------------------------------------- /Images/coconut.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/coconut.bmp -------------------------------------------------------------------------------- /Images/crow.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/crow.jpg -------------------------------------------------------------------------------- /Images/deer1.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/deer1.JPG -------------------------------------------------------------------------------- /Images/deer4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/deer4.jpg -------------------------------------------------------------------------------- /Images/dewdrop.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/dewdrop.jpg -------------------------------------------------------------------------------- /Images/dove1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/dove1.jpg -------------------------------------------------------------------------------- /Images/eye1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/eye1.jpg -------------------------------------------------------------------------------- /Images/eye2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/eye2.jpg -------------------------------------------------------------------------------- /Images/f1.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/f1.bmp -------------------------------------------------------------------------------- /Images/fl1.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/fl1.bmp -------------------------------------------------------------------------------- /Images/flower.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/flower.jpg -------------------------------------------------------------------------------- /Images/flower2.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/flower2.JPG -------------------------------------------------------------------------------- /Images/goldfish.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/goldfish.tif -------------------------------------------------------------------------------- /Images/hibiscus.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/hibiscus.tif -------------------------------------------------------------------------------- /Images/horse.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/horse.jpg -------------------------------------------------------------------------------- /Images/humm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/humm.jpg -------------------------------------------------------------------------------- /Images/icecream.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/icecream.jpg -------------------------------------------------------------------------------- /Images/image1.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/image1.bmp -------------------------------------------------------------------------------- /Images/image2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/image2.bmp -------------------------------------------------------------------------------- /Images/image3.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/image3.bmp -------------------------------------------------------------------------------- /Images/image4.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/image4.bmp -------------------------------------------------------------------------------- /Images/key.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/key.jpg -------------------------------------------------------------------------------- /Images/keyimg1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/keyimg1.PNG -------------------------------------------------------------------------------- /Images/lavender.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/lavender.jpg -------------------------------------------------------------------------------- /Images/lenna.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/lenna.jpg -------------------------------------------------------------------------------- /Images/lotus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/lotus.jpg -------------------------------------------------------------------------------- /Images/mixedfruit.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/mixedfruit.bmp -------------------------------------------------------------------------------- /Images/monarch.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/monarch.jpg -------------------------------------------------------------------------------- /Images/morph1.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/morph1.bmp -------------------------------------------------------------------------------- /Images/morph2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/morph2.bmp -------------------------------------------------------------------------------- /Images/myna.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/myna.jpg -------------------------------------------------------------------------------- /Images/penguin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/penguin.jpg -------------------------------------------------------------------------------- /Images/puppy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/puppy.jpg -------------------------------------------------------------------------------- /Images/rose.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/rose.jpg -------------------------------------------------------------------------------- /Images/sunflower2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/sunflower2.jpg -------------------------------------------------------------------------------- /Images/tajmahal1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/tajmahal1.jpg -------------------------------------------------------------------------------- /Images/tigerpub.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/tigerpub.jpg -------------------------------------------------------------------------------- /Images/zoneplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Images/zoneplate.png -------------------------------------------------------------------------------- /PCB-Database/pcb1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/PCB-Database/pcb1.jpg -------------------------------------------------------------------------------- /PCB-Database/pcb1_left.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/PCB-Database/pcb1_left.jpg -------------------------------------------------------------------------------- /PCB-Database/pcb1_missingpinhole.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/PCB-Database/pcb1_missingpinhole.jpg -------------------------------------------------------------------------------- /PCB-Database/pcb1_openckt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/PCB-Database/pcb1_openckt.jpg -------------------------------------------------------------------------------- /PCB-Database/pcb1_pinhole.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/PCB-Database/pcb1_pinhole.jpg -------------------------------------------------------------------------------- /PCB-Database/pcb1_rt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/PCB-Database/pcb1_rt.jpg -------------------------------------------------------------------------------- /PCB-Database/pcb1_shortckt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/PCB-Database/pcb1_shortckt.jpg -------------------------------------------------------------------------------- /PCB-Database/pcb2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/PCB-Database/pcb2.jpg -------------------------------------------------------------------------------- /PCB-Database/pcb2_missingpinhole.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/PCB-Database/pcb2_missingpinhole.jpg -------------------------------------------------------------------------------- /PCB-Database/pcb2_openckt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/PCB-Database/pcb2_openckt.jpg -------------------------------------------------------------------------------- /PCB-Database/pcb2_pinhole.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/PCB-Database/pcb2_pinhole.jpg -------------------------------------------------------------------------------- /PCB-Database/pcb2_shortckt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/PCB-Database/pcb2_shortckt.jpg -------------------------------------------------------------------------------- /PCB-Database/pcb3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/PCB-Database/pcb3.jpg -------------------------------------------------------------------------------- /PCB-Database/pcb3_missingpinhole.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/PCB-Database/pcb3_missingpinhole.jpg -------------------------------------------------------------------------------- /PCB-Database/pcb3_openckt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/PCB-Database/pcb3_openckt.jpg -------------------------------------------------------------------------------- /PCB-Database/pcb3_shortckt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/PCB-Database/pcb3_shortckt.jpg -------------------------------------------------------------------------------- /PCB-Database/smple01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/PCB-Database/smple01.jpg -------------------------------------------------------------------------------- /PCB-Database/smple01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/PCB-Database/smple01.png -------------------------------------------------------------------------------- /PCB-Database/smple02(short).jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/PCB-Database/smple02(short).jpg -------------------------------------------------------------------------------- /PCB-Database/smple02(short).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/PCB-Database/smple02(short).png -------------------------------------------------------------------------------- /PCB-Database/smple03.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/PCB-Database/smple03.gif -------------------------------------------------------------------------------- /PCB-Database/smple03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/PCB-Database/smple03.jpg -------------------------------------------------------------------------------- /PCB-Database/smple04(miss_hole).jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/PCB-Database/smple04(miss_hole).jpg -------------------------------------------------------------------------------- /PCB-Database/smple04.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/PCB-Database/smple04.gif -------------------------------------------------------------------------------- /Paper.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/Paper.pdf -------------------------------------------------------------------------------- /References/Defect Classification.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/References/Defect Classification.pdf -------------------------------------------------------------------------------- /References/Reference_1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/References/Reference_1.pdf -------------------------------------------------------------------------------- /References/Reference_2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/References/Reference_2.pdf -------------------------------------------------------------------------------- /References/Reference_3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/References/Reference_3.pdf -------------------------------------------------------------------------------- /References/Reference_4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/References/Reference_4.pdf -------------------------------------------------------------------------------- /References/Reference_5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/References/Reference_5.pdf -------------------------------------------------------------------------------- /References/Reference_6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/References/Reference_6.pdf -------------------------------------------------------------------------------- /References/Reference_7.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/References/Reference_7.pdf -------------------------------------------------------------------------------- /References/Reference_8.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/References/Reference_8.pdf -------------------------------------------------------------------------------- /References/Thresholding_1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/References/Thresholding_1.pdf -------------------------------------------------------------------------------- /References/Thresholding_2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/References/Thresholding_2.pdf -------------------------------------------------------------------------------- /pcbdatabase.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vihangp/PCB-Defect-Detection-using-Image-Registration/88e0e9960c22c198b6d7976452f166b35563faff/pcbdatabase.zip --------------------------------------------------------------------------------