Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
관리 메뉴

어제보다 나은 내가 되자

모든 픽셀을 방문하여 밝기 변화하기 본문

영상처리

모든 픽셀을 방문하여 밝기 변화하기

rudruddl 2020. 5. 13. 22:22
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main() {
	Mat src = imread("lenna.bmp", IMREAD_GRAYSCALE);
	Mat dst(src.rows, src.cols, src.type());

	for (int j = 0; j < src.rows; j++) {
		for (int i = 0; i < src.cols; i++) {
			// 255의 범위를 벗어나면 오버플로우가되어 0부터 다시 시작되는 코드
			//dst.at<uchar>(j, i) = src.at<uchar>(j, i) + 100;
            //dst.at<uchar>(j, i) = saturate_cast<uchar>(src.at<uchar>(j, i) + 100) 

			int v = src.at<uchar>(j, i) + 100;
			dst.at<uchar>(j, i) = v > 255 ? 255 : v < 0 ? 0 : v;
			// v가 255를 넘으면 255
			// v가 255를 넘지않으면 0보다 작은지 검사 후 작으면 0
			// v가 255를 넘지않고 0보다도 크면 v값 그대로 사용
		}
	}

	imshow("src", src);
	imshow("dst", dst);
	waitKey();
	return 0;
}
Comments