-
Fototrend

Ú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); -
Erwinke
aktív tag
Szép napot.
Iteral White Balancot kéne leprogramoznunk órára. Megvan a program csak rosszul konvertálja át a képet és nem tudunk rájönni, hogy miért. Nem tudom ez a szakterületük-e, de egy próbát megér. Köszönöm a segítségüket./********************************************************************************
** Form generated from reading UI file 'mainwindow.ui'
**
** Created by: Qt User Interface Compiler version 5.8.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef UI_MAINWINDOW_H
#define UI_MAINWINDOW_H
#include <QtCore/QVariant>
#include <QtWidgets/QAction>
#include <QtWidgets/QApplication>
#include <QtWidgets/QButtonGroup>
#include <QtWidgets/QComboBox>
#include <QtWidgets/QHeaderView>
#include <QtWidgets/QMainWindow>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
class Ui_MainWindow
{
public:
QWidget *centralWidget;
QComboBox *comboBox;
QPushButton *pushButton;
QPushButton *pushButton_2;
void setupUi(QMainWindow *MainWindow)
{
if (MainWindow->objectName().isEmpty())
MainWindow->setObjectName(QStringLiteral("MainWindow"));
MainWindow->resize(394, 252);
centralWidget = new QWidget(MainWindow);
centralWidget->setObjectName(QStringLiteral("centralWidget"));
comboBox = new QComboBox(centralWidget);
comboBox->setObjectName(QStringLiteral("comboBox"));
comboBox->setGeometry(QRect(30, 60, 181, 26));
pushButton = new QPushButton(centralWidget);
pushButton->setObjectName(QStringLiteral("pushButton"));
pushButton->setGeometry(QRect(280, 60, 80, 26));
pushButton_2 = new QPushButton(centralWidget);
pushButton_2->setObjectName(QStringLiteral("pushButton_2"));
pushButton_2->setGeometry(QRect(280, 210, 80, 26));
MainWindow->setCentralWidget(centralWidget);
retranslateUi(MainWindow);
QMetaObject::connectSlotsByName(MainWindow);
} // setupUi
void retranslateUi(QMainWindow *MainWindow)
{
MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", Q_NULLPTR));
comboBox->clear();
comboBox->insertItems(0, QStringList()
<< QApplication::translate("MainWindow", "White patch", Q_NULLPTR)
<< QApplication::translate("MainWindow", "Gray world", Q_NULLPTR)
<< QApplication::translate("MainWindow", "Iterative white balance", Q_NULLPTR)
);
pushButton->setText(QApplication::translate("MainWindow", "Tall\303\263z\303\241s", Q_NULLPTR));
pushButton_2->setText(QApplication::translate("MainWindow", "Ind\303\255t\303\241s", Q_NULLPTR));
} // retranslateUi
};
namespace Ui {
class MainWindow: public Ui_MainWindow {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_MAINWINDOW_H
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- -ÚJ,2 ÉV GAR- GAMER PC: RYZEN 5 4500-5600X +RX 6600/6700XT +16-64GB DDR4! SZÁMLA! 70 féle ház!
- Eladó Latitude 5520 15.6" FHD IPS i7-1185G7 NVIDIA GeForce MX450 16 1TB gar
- Xiaomi Redmi Note 14 Pro 5G 8/256GB, Újszerű, Kártyafüggetlen, Töltővel, Dobozzal, 1 Év Garanciával!
- ROG Strix G731GW 17.3" FHD IPS i7-9750H RTX 2070 16GB 1TB NVMe magyar vbill gar
- Samsung Galaxy A26 5G 6/128GB, Megkímélt, Kártyafüggetlen, Töltővel, 1 Év Garanciával!
- Apple iPhone 15 Pro Max / 256GB / Kártyafüggetlen / 12 Hó Garancia / 98% akku
- PS5 PlayStation 5 Slim (lemezes, 1TB) kiváló állapotban! 6 Hónap Jótállás
- GYÖNYÖRŰ iPhone 15 Plus E-SIM 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3355, 100% Akksi
- Lenovo ThinkPad T14S Gen1 Ryzen5 4650U/8GB RAM Refurbished - Garancia - Akció!
- Byintek Love U14 Projektor
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


