6주차 수업 끝

This commit is contained in:
USW
2025-04-02 12:07:31 +09:00
parent 86a66bbeff
commit f2f018da0c
50 changed files with 2399 additions and 51 deletions

111
ch05/brightness/main.cpp Normal file
View File

@@ -0,0 +1,111 @@
#include <iostream>
#include "opencv2/opencv.hpp"
using namespace std;
using namespace cv;
int brightness1();
int brightness2();
int brightness3();
int brightness4();
int mosaic();
int main() {
return brightness4();
}
int brightness1() {
Mat src = imread("..\\..\\resources\\images\\lenna.bmp", IMREAD_GRAYSCALE);
if (src.empty()) {
cerr << "imread()" << endl;
return 1;
}
Mat dst = src + 100;
imshow("src", src);
imshow("dst", dst);
waitKey();
destroyAllWindows();
return 0;
}
int brightness2() {
Mat src = imread("..\\..\\resources\\images\\lenna.bmp", IMREAD_GRAYSCALE);
if (src.empty()) {
cerr << "imread()" << endl;
return 1;
}
Mat dst(src.rows, src.cols, src.type());
for (int j = 0; j < src.rows; j++) {
for (int i = 0; i < src.cols; i++) {
dst.at<uchar>(j, i) = src.at<uchar>(j, i) + 100;
}
}
imshow("src", src);
imshow("dst", dst);
waitKey();
destroyAllWindows();
return 0;
}
int brightness3() {
Mat src = imread("..\\..\\resources\\images\\lenna.bmp", IMREAD_GRAYSCALE);
if (src.empty()) {
cerr << "imread()" << endl;
return 1;
}
Mat dst(src.rows, src.cols, src.type());
for (int j = 0; j < src.rows; j++) {
for (int i = 0; i < src.cols; i++) {
dst.at<uchar>(j, i) = saturate_cast<uchar>(src.at<uchar>(j, i) + 100);
}
}
imshow("src", src);
imshow("dst", dst);
waitKey();
destroyAllWindows();
return 0;
}
void on_brightness(int pos, void* userdata) {
Mat src = *(Mat*)userdata;
Mat dst = src + pos;
imshow("dst", dst);
}
int brightness4() {
Mat src = imread("..\\..\\resources\\images\\lenna.bmp", IMREAD_GRAYSCALE);
if (src.empty()) {
cerr << "imread()" << endl;
return 1;
}
namedWindow("dst");
createTrackbar("Brightness", "dst", 0, 100, on_brightness, (void*)&src);
waitKey();
destroyAllWindows();
return 0;
}
int mosaic() {
Mat src = imread("..\\..\\resources\\images\\lenna.bmp", IMREAD_COLOR_RGB);
if (src.empty()) {
cerr << "imread()" << endl;
return 1;
}
const
Mat dst(src.rows, src.cols, src.type());
for (int j = 0; j < src.rows; j++) {
for (int i = 0; i < src.cols; i++) {
dst.at<uchar>(j, i) = src.at<uchar>(j, i) + 100;
}
}
}