OpenCV4 uses the applyColorMap() function to convert a grayscale or color map into a custom color map, or more than 20 color values provided by opencv

1. Use of applyColorMap() function:

Use the applyColorMap() function to convert a grayscale or color map into a custom color map, or more than 20 color values ​​​​provided by opencv

(1) Function prototype:
void applyColorMap(InputArray src, OutputArray dst, int colormap)
  • src: source image, grayscale or color image ( CV_8UC1 or CV_8UC3 );
  • dst: the result image after color mapping on the source image;
  • colormap: the color value provided by opencv;
    // opencv提供的色彩值
    int colorMap[] = {
          
          
    	COLORMAP_AUTUMN,
    	COLORMAP_BONE,
    	COLORMAP_JET,
    	COLORMAP_WINTER,
    	COLORMAP_RAINBOW,
    	COLORMAP_OCEAN,
    	COLORMAP_SUMMER,
    	COLORMAP_SPRING,
    	COLORMAP_COOL,
    	COLORMAP_HSV,
    	COLORMAP_PINK,
    	COLORMAP_HOT,
    	COLORMAP_PARULA,
    	COLORMAP_MAGMA,
    	COLORMAP_INFERNO,
    	COLORMAP_PLASMA,
    	COLORMAP_VIRIDIS,
    	COLORMAP_CIVIDIS,
    	COLORMAP_TWILIGHT,
    	COLORMAP_TWILIGHT_SHIFTED
    };
    
void applyColorMap(InputArray src, OutputArray dst, InputArray userColor)
  • src: source image, grayscale or color image ( CV_8UC1 or CV_8UC3 );
  • dst: the result image after color mapping on the source image;
  • userColor: user-defined color (CV_8UC1 or CV_8UC3 and size 256);
(2) Example:
// 将灰度图或彩色图转换成opencv提供的20多种色彩值
void QuickDemo::colorStyle(Mat &image) {
    
    
	// opencv提供的色彩值
	int colorMap[] = {
    
    
		COLORMAP_AUTUMN,
		COLORMAP_BONE,
		COLORMAP_JET,
		COLORMAP_WINTER,
		COLORMAP_RAINBOW,
		COLORMAP_OCEAN,
		COLORMAP_SUMMER,
		COLORMAP_SPRING,
		COLORMAP_COOL,
		COLORMAP_HSV,
		COLORMAP_PINK,
		COLORMAP_HOT,
		COLORMAP_PARULA,
		COLORMAP_MAGMA,
		COLORMAP_INFERNO,
		COLORMAP_PLASMA,
		COLORMAP_VIRIDIS,
		COLORMAP_CIVIDIS,
		COLORMAP_TWILIGHT,
		COLORMAP_TWILIGHT_SHIFTED
	};
	Mat dst;
	int index = 0;
	while (true) {
    
    
		int c = waitKey(200);
		if (c == 27) {
    
    	// 退出
			break;
		}
		// index%19,index取模之后下标值在 0 - 19 之间循环,下标不会超过19
		applyColorMap(image, dst, colorMap[index%19]);
		index++;
		namedWindow("colorStyle", WINDOW_NORMAL);
		imshow("colorStyle", dst);
	}
}

Results display:

Please add a picture description

Guess you like

Origin blog.csdn.net/qq_33867131/article/details/131537217