본문 바로가기

OpenCV

ch05 contrast

#python code

import cv2
import numpy as np

def contrast1():
    src = cv2.imread("D:\\projects\\SampleCode\\006939-master\\ch05\\contrast\\lenna.bmp", cv2.IMREAD_GRAYSCALE)

    if src is None:
        print("Image load failed!")
        return

    s = 2.0
    dst = np.clip(s * src, 0, 255).astype(np.uint8)

    cv2.imshow("src", src)
    cv2.imshow("dst", dst)
    cv2.waitKey()

    cv2.destroyAllWindows()

def contrast2():
    src = cv2.imread("D:\\projects\\SampleCode\\006939-master\\ch05\\contrast\\lenna.bmp", cv2.IMREAD_GRAYSCALE)

    if src is None:
        print("Image load failed!")
        return

    alpha = 1.0
    dst = src + (src - 128) * alpha
    dst = np.clip(dst, 0, 255).astype(np.uint8)

    cv2.imshow("src", src)
    cv2.imshow("dst", dst)
    cv2.waitKey()

    cv2.destroyAllWindows()

def main():
    contrast1()
    contrast2()

if __name__ == "__main__":
    main()

// C++ code

#include "opencv2/opencv.hpp"
#include <iostream>

using namespace cv;
using namespace std;

void contrast1();
void contrast2();

int main(void)
{
	contrast1();
	contrast2();

	return 0;
}

void contrast1()
{
	Mat src = imread("lenna.bmp", IMREAD_GRAYSCALE);

	if (src.empty()) {
		cerr << "Image load failed!" << endl;
		return;
	}

	float s = 2.f;
	Mat dst = s * src;

	imshow("src", src);
	imshow("dst", dst);
	waitKey();

	destroyAllWindows();
}

void contrast2()
{
	Mat src = imread("lenna.bmp", IMREAD_GRAYSCALE);

	if (src.empty()) {
		cerr << "Image load failed!" << endl;
		return;
	}

	float alpha = 1.f;
	Mat dst = src + (src - 128) * alpha;

	imshow("src", src);
	imshow("dst", dst);
	waitKey();

	destroyAllWindows();
}

C++ Code 출처 : OpenCV 4로 배우는 컴퓨터 비전과 머신 러닝 - 황선규 저


 

'OpenCV' 카테고리의 다른 글

ch06 logical  (0) 2024.05.20
ch06 arithmetic  (0) 2024.05.20
ch05 brightness  (0) 2024.05.19
ch04 video  (0) 2024.05.19
ch04 utils  (0) 2024.05.19