---
title: convertTo
description: "convertTo函数用于将图像转换为另一种数据类型。通过指定目标数据类型和缩放因子，用户可以灵活调整图像的值范围。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/251RC1/accel/kunpengaccel_kpcv_07_0011.html
sourcePath: /source/zh/kunpengboostkithistory/251RC1/accel/kunpengaccel_kpcv_07_0011.html
indexId: fceb3435b1522353d9ef1c6802c7648f0b02de8fbd11e08e9b5ff6d3b394a6e777
---
# convertTo

#### 函数功能

convertTo函数用于将图像转换为另一种数据类型。通过指定目标数据类型和缩放因子，用户可以灵活调整图像的值范围。


#### 函数接口

```
void Mat::convertTo(OutputArray dst, int type_, double alpha, double beta) const;
```


#### 参数

| 参数名 | 描述 | 取值范围 | 输入/输出 |
| --- | --- | --- | --- |
| dst | 输出图像。 | Mat类型 | 输出 |
| type\_ | 目标数据类型。 | (CV\_8U,CV\_64F) | 输入 |
| alpha | 可选的缩放因子，默认值为1。 | (\-inf, inf) | 输入 |
| beta | 可选的偏移量，默认值为0。 | (\-inf, inf) | 输入 |


#### 示例

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

int main() {
    // 创建一个5x5的简单图像
    cv::Mat src = (cv::Mat_<uint8_t>(5, 5) << 0, 0, 0, 0, 0,
                                              0, 1, 1, 1, 0,
                                              0, 1, 0, 1, 0,
                                              0, 1, 1, 1, 0,
                                              0, 0, 0, 0, 0);

    // 将图像的类型从8位无符号整型转换为32位浮点数，并进行缩放
    cv::Mat dst;
    src.convertTo(dst, CV_32F);  // 转换数据类型
    cv::convertScaleAbs(dst, dst, 2.0, 0); // 缩放图像

    // 输出图像
    std::cout << dst << std::endl;

    return 0;
}
```

运行结果：

```
[[ 0  0  0  0  0]
 [ 0  2  2  2  0]
 [ 0  2  0  2  0]
 [ 0  2  2  2  0]
 [ 0  0  0  0  0]]
```
