mercoledì 26 marzo 2014

Visione Artificiale - Border Detection (algoritmo personale)

#include <opencv2\opencv.hpp>
#include <iostream>


using namespace cv;
using namespace std;

//Algoritmo personale adatto a immagini sintetiche binarie
//Da usare con immagini png
int main(){
Mat1b in = imread("soglia2.png", 0);
//Mat1b in = imread("Immagine.png", 0);
Mat1b out(in.size());
int flag=0, flagn=0;;

for(int r=1;r<in.rows-1;++r){
for(int c=1;c<in.cols-1;++c){


if(in(r,c)==0){
for(int i=-1;i<=1;++i){
for(int j=-1;j<=1;++j){
if(in(r+i,c+j)==255)
flag++; 
}
}
if(flag>0)
out(r,c) = 0;
else
out(r,c) = 255;
flag = 0;
}
else
out(r,c) = 255;
}
}

imshow("Bordi", out);
imwrite("Bordo.jpg", out);
waitKey();
}

Nessun commento:

Posta un commento