Este artículo tiene como objetivo aprender cómo cargar una imagen en color en blanco usando OpenCv. Usando OpenCV, podemos generar una imagen en blanco con cualquier color que deseemos.
Entonces, profundicemos y entendamos el concepto con la explicación completa.
Código: código C++ para crear una imagen en color en blanco
// c++ code explaining how to // open a blank colored image // in OpenCV // loading library files #include <highlevelmonitorconfigurationapi.h> #include <opencv2\highgui\highgui.hpp> #include <opencv2\opencv.hpp> using namespace cv; using namespace std; int main(int argc, char** argv) { // Creating the image Mat img(600, 800, CV_8UC3, Scalar(100, 250, 30)); // Naming the window String geeks_window = "COLORED BLANK IMAGE"; // crearting window for image display namedWindow(geeks_window); // image shown inside the window imshow(geeks_window, img); // wait for any key press waitKey(0); // destroying the created window destroyWindow(geeks_window); return 0; }
Producción :
Explicación :
// Creating the image Mat img(600, 800, CV_8UC3, Scalar(100, 250, 30));
No. de filas en la imagen, es decir,
filas de altura = 100No. de columnas en la imagen, es decir
, columnas de ancho = 250Tipo de datos, es decir, profundidad. Hay muchos argumentos para un tipo
type = CV_8UC3 (hemos elegido al azar uno de los posibles argumentos)Valor escalar de los canales Azul, Verde y Rojo = (100, 250, 30)
Es un constructor disponible en Mat Class y crea una imagen con filas y columnas seleccionadas como argumentos. Una imagen creada de esta manera tiene alrededor de 24 bits para cada píxel, ya que asigna un valor entero de 8 bits que representa los planos RGB: rojo, verde y azul, respectivamente. El valor de estos tres enteros puede variar de 0 (negro) a 255 (blanco) . Aquí, en el código anterior, cada píxel de la imagen recién creada se inicializa con un constructor a 3 enteros sin signo, es decir , valores escalares: 100, 250, 30 . Esto significa que tiene asignados los canales azul, verde y rojo con 100, 250, 30 respectivamente. Como se puede ver la imagen es algo verdosaya que el valor del canal verde es mucho mayor. La imagen es una combinación de estos tres valores de color.
Publicación traducida automáticamente
Artículo escrito por mathemagic y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA