int m_nHeight = 4352, m_nWidth = 4352, m_nCutCols = 25, m_nCutRows = 25; uchar *m_pDefectMap = new uchar[m_nHeight * m_nWidth]; memset(m_pDefectMap, m_nHeight * m_nWidth * sizeof(uchar)); cv::Mat labels, centroids, stats; cv::Mat matDefectMap = cv::Mat(m_nHeight, m_nWidth, CV_8UC1, m_pDefectMap); cv::Mat roi = matDefectMap(cv::Rect(m_nCutCols, m_nCutRows, m_nWidth - 2 * m_nCutCols, m_nHeight - 2 * m_nCutRows)); cv::Mat dst = cv::Mat(cv::Size(roi.cols + 2, roi.rows + 2), CV_8UC1, cv::Scalar(0)); cv::copyMakeBorder(roi, dst, 1, 1, 1, 1, cv::BORDER_REFLECT_101);填充类型无效
时间: 2024-04-15 22:27:09 浏览: 36
根据您提供的代码,我注意到您在使用cv::copyMakeBorder函数时设置了填充类型为cv::BORDER_REFLECT_101,但您认为填充类型无效。
可能的原因是,您传递给cv::copyMakeBorder函数的输入图像roi的数据类型是CV_8UC1,即单通道8位无符号整数图像。然而,根据您的代码,您创建的输出图像dst的数据类型也是CV_8UC1。这意味着您尝试将单通道图像roi复制到单通道图像dst中,因此无论您设置任何填充类型,结果都将是相同的。
要解决这个问题,您可以尝试创建一个多通道图像作为输出图像dst,以便能够正确应用填充类型。例如,您可以使用以下代码创建一个三通道图像:
```cpp
cv::Mat dst = cv::Mat(cv::Size(roi.cols + 2, roi.rows + 2), CV_8UC3, cv::Scalar(0));
```
然后,您可以使用cv::copyMakeBorder函数将单通道图像roi复制到三通道图像dst中,并指定所需的填充类型。
希望这可以解决您的问题!如果还有其他疑问,请随时提问。
相关问题
frame_count = (int)((int)ftell(f) / ((nWidth * nHeight * 3) / 2));
这段代码是计算视频文件中的帧数。首先,使用ftell()函数获取当前文件读取位置的字节偏移量,然后将其转换为int类型。视频文件中每一帧所占用的字节数可以通过nWidth(视频帧的宽度)、nHeight(视频帧的高度)和3/2(每个像素点占用1.5个字节)计算得出。将总字节数除以每一帧的字节数,就可以得到视频中的帧数。最后使用(int)将结果强制转换为整型。
CImageDisplay::CImageDisplay(void) : m_nWidth(256) , m_nHeight(256) , m_pDrawPixel(NULL) { InitPalette(); InitBmpInfo(); }什么意思
这是一个 C++ 类 CImageDisplay 的构造函数,初始化了一些成员变量 m_nWidth、m_nHeight 和 m_pDrawPixel,并调用了 InitPalette 和 InitBmpInfo 函数进行初始化操作。具体操作是设置了图片的宽度和高度为 256 像素,并将绘图区域设置为 NULL。同时,该函数的实现代码中可能还包含了一些关于图片色彩模式和其他参数的初始化操作。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)