Immagine binaria

Abbozzo
Questa voce sugli argomenti computer grafica e disegno è solo un abbozzo.
Contribuisci a migliorarla secondo le convenzioni di Wikipedia.
Immagine binaria creata in python

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

  1. ^ 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
  • Collabora a 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.
  Portale Informatica
  Portale Matematica