기사 디렉토리
1. applyColorMap() 함수 사용:
applyColorMap() 함수를 사용하여 그레이스케일 또는 색상 맵을 사용자 지정 색상 맵으로 변환하거나 opencv에서 제공하는 20개 이상의 색상 값
(1) 함수 프로토타입:
무효 applyColorMap(InputArray src, OutputArray dst, int 컬러맵)
- src: 소스 이미지, 그레이스케일 또는 컬러 이미지( CV_8UC1 또는 CV_8UC3 );
- dst: 원본 이미지에서 색상 매핑 후 결과 이미지;
- colormap: 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 };
무효 applyColorMap(InputArray src, OutputArray dst, InputArray userColor)
- src: 소스 이미지, 그레이스케일 또는 컬러 이미지( CV_8UC1 또는 CV_8UC3 );
- dst: 원본 이미지에서 색상 매핑 후 결과 이미지;
- userColor: 사용자 정의 색상(CV_8UC1 또는 CV_8UC3 및 크기 256);
(2) 예:
// 将灰度图或彩色图转换成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);
}
}