Quantcast
Channel: OpenCV Q&A Forum - RSS feed
Viewing all articles
Browse latest Browse all 53

Grayscale image instead of RGB image

$
0
0
Help me, please. I have 3 color components. When I merging them(function merge()) and then read matrix to image and save them on disk(function imread()), I get grayscale JPEG image instead of color JPEG image. What should I do to get color image? This is all code: string start = "P0ch@t0k"; string finish = "K5k1R9z@"; int allength = start.length() + finish.length() + length; int* Cypher = new int[allength * 8];//зашифрованный текст в бинарном виде Cypher = ModVisioner(text, start, finish, length); string Cyphertext; for (int i = 0; i < allength; i++) { int Temp[8]; for (int j = 0; j < 8; j++) { Temp[j] = Cypher[i * 8 + j]; } Cyphertext.push_back(Binary2Decimal(Temp)); } cout << Cyphertext << endl; string Cv; for (int m = 0; m < 3; m++) { for (int i = 0; i < widt; i++) { for (int j = 0; j < heigh; j++) { Cv.push_back(Matvector[m].at(j, i)); } } } string Sv;//вектор изображения с ЦВЗ vectorv; for (int m = 0; m < allength; m++)//текст в двоичной форме { int* b = new int[8]; for (int i = 0; i < 8; i++) { b[i] = Cypher[m * 8 + i]; } v.push_back(b); } for (int i = 0; i < contsize; i++) { int* P = new int[8];//замена младшего бита P = Decimal2Binary((uchar)Cv[i]); if ((i % 2 == 0) && (i < allength * 2)) { int k = i / 16; int l = (i % 16) / 2; P[7] = v[k][l]; } else { P[7] = rand() % 2; } Sv.push_back(Binary2Decimal(P)); } Mat Vector1(heigh, widt, CV_8UC1); Mat Vector2(heigh, widt, CV_8UC1); Mat Vector3(heigh, widt, CV_8UC1); vector Vector; Vector.push_back(Vector1); Vector.push_back(Vector2); Vector.push_back(Vector3); for (int m = 0; m < 3; m++) { for (int i = 0; i < widt; i++) { for (int j = 0; j < heigh; j++) { Vector[m].at(j, i) = Sv[i*heigh + j]; } } } Mat FResult(heigh, widt, CV_8UC3); merge(Vector, FResult); imwrite("merged.jpg", FResult); namedWindow("Display window", WINDOW_AUTOSIZE); imshow("Display window", FResult); waitKey(0); destroyWindow("DisplayWindow");

Viewing all articles
Browse latest Browse all 53

Trending Articles