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

using namespace std;
using namespace cv;

Mat mat_f32_2_u8()
{
	Mat im(100, 200, CV_32FC3, Scalar(100, 240, 0));
	for (int i = 0; i < im.rows; i++)
	{
		for (int j = 0; j < im.cols; j++)
		{
			im.at<cv::Vec3f>(i, j)[0] += 10.;
			im.at<cv::Vec3f>(i, j)[1] += 30.;
		}
	}
	Mat u8_im;
	im.convertTo(u8_im, CV_8UC3);//超出255截断为255
	return u8_im;
}

int main()
{
	Mat img = mat_f32_2_u8();
	imshow("test", img);
	waitKey(0);
	return 0;
}

CMakeLists.txt

cmake_minimum_required(VERSION 3.0.0)
project(hello)
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
set(SOURCE_FILES main.cpp)
add_executable(${PROJECT_NAME} ${SOURCE_FILES})
message(STATUS ${OpenCV_INCLUDE_DIRS})
target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS})

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐