- koxx: Bloons TD5 - Tower Defense játék
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- GoodSpeed: AMD Ryzen 9 9900X (100-100000662WOF)+ Samsung 990 PRO 2TB MZ-V9P2T0BW
- sziku69: Szólánc.
- Klaus Duran: Youtube AI szinkron
- gban: Ingyen kellene, de tegnapra
- Elektromos rásegítésű kerékpárok
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- laskr99: Processzor és videokártya szilícium mag fotók újratöltve!
Hirdetés
-
LOGOUT
Új hozzászólás Aktív témák
-
Erwinke
aktív tag
válasz
Erwinke #10958 üzenetére
Elnézést, rosszat küldtem ...
// színcsatornák korrigálása
while ((U_avg > 0.1) && (V_avg > 0.1)) {
if(U_avg > V_avg){
//egyik verzió a korrigálásra
for (int i = 0; i <image.rows; i++){
for (int j = 0; j < image.cols; j++){
if(image.at<Vec3b>(i,j)[0]+1 <= 255){
image.at<Vec3b>(i,j)[0] = image.at<Vec3b>(i,j)[0]+1;
} // az eredeti képen lévő színcsatornákat korrigáljuk
}
}
}else{
for (int i = 0; i <image.rows; i++){
for (int j = 0; j < image.cols; j++){
if (image.at<Vec3b>(i,j)[2]+1 <= 255){
image.at<Vec3b>(i,j)[2] = image.at<Vec3b>(i,j)[2]+1;
}
}
}
}
//másik verzió a korrigálásra
/*
if(U_avg > V_avg){
for (int i = 0; i <modded.rows; i++){
for (int j = 0; j < modded.cols; j++){
modded.at<Vec3b>(i,j)[0] = modded.at<Vec3b>(i,j)[1]+1;
// az YUV színterű képet korrigáljuk (nem működik)
}
}
}else{
for (int i = 0; i <modded.rows; i++){
for (int j = 0; j < modded.cols; j++){
modded.at<Vec3b>(i,j)[2] = modded.at<Vec3b>(i,j)[1]-1;
}
}
}
}*/
/*_______________________________________________________________________________________________________*/
/*
* egyik verzió a szürke pixelek újraszámolására (ugyan azokat a pixeleket vesszük figyelembe)
for (int k = 0; k < counter; k++){
// a rekord tömbből keressük ki a pixeleket
//double b = image.at<Vec3b>(arr[counter].x,arr[counter].y)[0];
//double g = image.at<Vec3b>(arr[counter].x,arr[counter].y)[1];
//double r = image.at<Vec3b>(arr[counter].x,arr[counter].y)[2];
//double y = ((0.299*r)+(0.587*g)+(0.114*g));
double u = (modded.at<Vec3b>(arr[counter].x,arr[counter].y)[1])-128;
double v = (modded.at<Vec3b>(arr[counter].x,arr[counter].y)[2])-128;
U_avg += abs(u);
V_avg += abs(v);
}*/
// másik verzió a szürke pixelek újraszámolására (nem feltétlenül ugyan azokat a pixeleket vesszük figyelembe)
// újra keressük a szürke pixeleket
cvtColor(image, modded, CV_BGR2YUV);
counter = 0;
for (int i = rows*2; i < rows*3; i++) {
for (int j = cols*2; j < cols*3; j++) {
double y = modded.at<Vec3b>(i,j)[0];
double u = (modded.at<Vec3b>(i,j)[1])-128;
double v = (modded.at<Vec3b>(i,j)[2])-128;
double tmp = (abs(u)+abs(v))/y;
double aa = 0.2;
if (tmp < aa){
arr[counter] = {i,j};
U_avg += abs(u);
V_avg += abs(v);
counter++;
}
}
}
U_avg = U_avg/counter;
V_avg = V_avg/counter;
// önellenőrzés, U és V csatornák átlaga
cout << (int)U_avg << ", " << (int)V_avg << endl;
}
cvtColor(modded, modded, CV_YUV2BGR);// visszakonvertálás
imshow("image",image);
namedWindow("image",CV_WINDOW_FREERATIO);
imshow("modded", modded);
namedWindow("modded", CV_WINDOW_FREERATIO);
/*
cout << to_string((int)Y) << "\n";
cout << to_string((int)U) << "\n";
cout << to_string((int)V) << "\n";*/
/*
vector<Mat> channels;
vector<Mat> separatedChannels = showChannels(channels);
namedWindow("Blue", CV_WINDOW_FREERATIO);
imshow("Blue", separatedChannels[0]);
namedWindow("Green", CV_WINDOW_FREERATIO);
imshow("Green", separatedChannels[1]);
namedWindow("Red", CV_WINDOW_FREERATIO);
imshow("Red", separatedChannels[2]);
*/
waitKey(0);
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
Állásajánlatok
Cég: FOTC
Város: Budapest