九、OpenCV自带colormap

项目功能实现:每隔1500ms轮流自动播放不同风格图像显示,按下Esc键退出

按照之前的博文结构来,这里就不在赘述了

一、头文件

colormap.h

cpp 复制代码
#pragma once
#include<opencv2/opencv.hpp>
using namespace cv;

class ColorMap {
public:
	void color_map(Mat& image);
};

二、函数实现

colorsapces.cpp

cpp 复制代码
#include"colormap.h"
#include<iostream>
#include<opencv2/opencv.hpp>


void ColorMap::color_map(Mat& image) {
	
	int color_map[] = {
		COLORMAP_AUTUMN,
		COLORMAP_BONE,
		COLORMAP_CIVIDIS,
		COLORMAP_COOL,
		COLORMAP_DEEPGREEN,
		COLORMAP_HOT,
		COLORMAP_HSV,
		COLORMAP_INFERNO,
		COLORMAP_JET,
		COLORMAP_MAGMA,
		COLORMAP_OCEAN,
		COLORMAP_PARULA,
		COLORMAP_PINK,
		COLORMAP_PLASMA,
		COLORMAP_RAINBOW,
		COLORMAP_SPRING,
		COLORMAP_SUMMER,
		COLORMAP_TURBO,
		COLORMAP_TWILIGHT,
		COLORMAP_TWILIGHT_SHIFTED,
		COLORMAP_VIRIDIS,
		COLORMAP_WINTER
	};

	Mat result;
	int index = 0;

	while (true) {
		int key = waitKey(1500);
		if (key == 27) {//Esc
			break;
		}
		applyColorMap(image, result, color_map[index % 21]);//这里有22种类型,循环播放
		index++;
		imshow("colormap", result);
	}

}

三、主函数

yy_main.cpp

cpp 复制代码
#include <opencv2/opencv.hpp>
#include <iostream>
#include "colormap.h"

using namespace cv;
using namespace std;

int main(int argc, char** argv) {
	Mat src = cv::imread("E:/C++_workspace/beyond.jpg", IMREAD_COLOR);

	if (src.empty()) {
		printf("load image is false...\n");
		return -1;
	}

	namedWindow("yanyu", WINDOW_FREERATIO);
	imshow("yanyu", src);

	ColorMap yy;
	yy.color_map(src);

	waitKey(0);
	destroyAllWindows();

	return 0;
}

项目结构如下:

运行结果如下:

相关推荐
jerryinwuhan1 分钟前
利用舵机实现机器人行走
人工智能·机器人
武子康3 分钟前
AI-调查研究-107-具身智能 强化学习与机器人训练数据格式解析:从状态-动作对到多模态轨迹标准
人工智能·深度学习·机器学习·ai·系统架构·机器人·具身智能
沫儿笙3 分钟前
KUKA库卡焊接机器人二氧化碳节气
人工智能·机器人
insight^tkk24 分钟前
【Docker】记录一次使用docker部署dify网段冲突的问题
运维·人工智能·docker·ai·容器
攻城狮7号26 分钟前
AI+大数据时代:如何从架构到生态重构时序数据库的价值?
大数据·人工智能·时序数据库·apache iotdb·sql大模型
智能化咨询33 分钟前
AI+大数据时代:时序数据库的生态重构与价值跃迁——从技术整合到行业落地
人工智能
paopaokaka_luck39 分钟前
基于SpringBoot+Vue的社区诊所管理系统(AI问答、webSocket实时聊天、Echarts图形化分析)
vue.js·人工智能·spring boot·后端·websocket
工藤学编程39 分钟前
零基础学AI大模型之RAG系统链路解析与Document Loaders多案例实战
人工智能
大千AI助手1 小时前
加权分位数直方图:提升机器学习效能的关键技术
人工智能·机器学习·xgboost·直方图·加权直方图·特征分裂
星期天要睡觉1 小时前
深度学习——基于ResNet18迁移学习的图像分类模型
人工智能·python·分类·迁移学习