Immagine binaria
Un'immagine binaria (o bitonale, o bilivello) è una immagine digitale che ha due possibili valori per ogni pixel[1]. Tipicamente i due colori usati in una immagine binaria sono bianco e nero sebbene possa essere usato qualsiasi colore. il colore usato per gli oggetti nell'immagine è per i soggetti in primo piano il bianco mentre per lo sfondo il nero. Nel settore della scansione dei documenti ci si riferisce come immagine bitonale. Ogni pixel, poi, è memorizzato in un solo bit.
Le immagini binarie sono spesso usate nell'elaborazione delle immagini come maschere o come risultato di alcune operazioni quali la segmentazione, la soglia e oscillazione (dithering). alcuni dispositivi come stampanti laser, macchine fax lavorano solo con immagini binarie.
Una immagine binaria può essere memorizzata con formato bitmap. Una immagine di 640x480 pixel richiede 37,5 KB di memoria (640x480/8=38400).
Implementazione
Creazione di una immagine binaria con il modulo opencv2 con i linguaggi di programmazione C, C++ e Python e con il modulo mahotas e scikit image di python:
C e C++
IplImage* im_gray = cvLoadImage("image.jpg",CV_LOAD_IMAGE_GRAYSCALE); // C++ (OpenCV 2.0) Mat im_gray = imread("image.jpg",CV_LOAD_IMAGE_GRAYSCALE); // C IplImage *im_rgb = cvLoadImage("image.jpg"); IplImage *im_gray = cvCreateImage(cvGetSize(im_rgb),IPL_DEPTH_8U,1); cvCvtColor(im_rgb,im_gray,CV_RGB2GRAY); // C++ Mat im_rgb = imread("image.jpg"); Mat im_gray; cvtColor(im_rgb,im_gray,CV_RGB2GRAY); // C IplImage* im_bw = cvCreateImage(cvGetSize(im_gray),IPL_DEPTH_8U,1); cvThreshold(im_gray, im_bw, 128, 255, CV_THRESH_BINARY | CV_THRESH_OTSU); // C++ Mat img_bw = im_gray > 128;
Python
path "documents/image.jpg" #opencv2 import cv2 gray = cv2.imread(path,0) element = cv2.getStructuringElement(cv2.MORPH_CROSS,(3,3)) ret,thresh = cv2.threshold(gray,127,255,cv2.THRESH_BINARY_INV) #mahotas import mahotas as mh fork = mh.imread(path) imgbnbin = fork[:,:,0] bfork = imgbnbin < 150 #scikit image import skimage image = skimage.imread(path) global_thresh = skimage.threshold_otsu(image) binary_global = image > global_thresh
Note
- ^ Conversion of a Color Image to a Binary Image, CoderSource.net, 18 aprile 2005. URL consultato l'11 giugno 2008 (archiviato dall'url originale il 10 giugno 2008).
Voci correlate
- Bianco e nero
- Metodo Otsu
- Connected-component labeling
- X BitMap
- Trasformazione hit-or-miss
- Morfologia matematica
Altri progetti
Altri progetti
- Wikimedia Commons
- Wikimedia Commons contiene immagini o altri file su immagine binaria
Collegamenti esterni
- Una immagine binaria (GIF), su homepages.inf.ed.ac.uk.
- (EN) sogliatura binaria (binary thresholding) in opencv, su docs.opencv.org.