以cv::Mat::set举个例子
时间: 2023-07-03 19:27:30 浏览: 52
好的,假设有如下代码:
```
cv::Mat img = cv::Mat::zeros(3, 3, CV_8UC1);
img.setTo(255);
```
这个代码中,我们首先创建了一个大小为3x3的单通道图像 img,并使用 cv::Mat::zeros 函数将其所有像素点都设置为0。接着,我们使用 cv::Mat::setTo 函数将所有像素点都设置为255,这样整个图像就变成了一个全白的图像。
cv::Mat::setTo 函数的第一个参数为要设置的颜色值,可以是一个标量(如上例中的255),也可以是一个向量或矩阵。如果要设置的是一个标量,可以直接传入一个数值;如果要设置的是一个向量或矩阵,需要先使用 cv::Scalar、cv::Vec 或 cv::Matx 等类来创建。
cv::Mat::setTo 函数还可以接受一个可选的掩码参数,用于指定哪些像素点需要被设置。如果掩码值为0,则对应像素点不会被设置。如果掩码值为非0,则对应像素点会被设置为指定颜色值。
相关问题
写一个 qt使用opencv的例子
下面是一个简单的Qt使用OpenCV的例子,用于读取和显示图像:
```c++
#include <QApplication>
#include <QWidget>
#include <QLabel>
#include <opencv2/opencv.hpp>
#include <opencv2/imgproc/imgproc.hpp>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w;
w.setWindowTitle("OpenCV Example");
// 读取图像
cv::Mat image = cv::imread("example.jpg");
// 转换为Qt的QImage格式
QImage img = QImage((const unsigned char*)(image.data),
image.cols, image.rows,
QImage::Format_RGB888).rgbSwapped();
// 显示图像
QLabel label(&w);
label.setPixmap(QPixmap::fromImage(img));
w.show();
return a.exec();
}
```
在这个例子中,我们首先读取一个名为"example.jpg"的图像,并将其转换为Qt的QImage格式。然后,我们将这个图像显示在一个Qt窗口中。该图像可以在与应用程序相同的目录下找到。
要运行此示例,您需要在Qt项目中添加以下库:
```
LIBS += -lopencv_core
LIBS += -lopencv_highgui
LIBS += -lopencv_imgproc
```
opencv 2d point set
在OpenCV中,可以使用`cv::Mat`或`std::vector`来表示2D点集。以下是使用`std::vector`的示例代码:
```c++
#include <opencv2/opencv.hpp>
int main() {
// 创建一个包含5个2D点的向量
std::vector<cv::Point2f> points = {
cv::Point2f(0, 0),
cv::Point2f(1, 2),
cv::Point2f(3, 1),
cv::Point2f(2, 5),
cv::Point2f(4, 3)
};
// 遍历点集并打印每个点的坐标
for (const auto& point : points) {
std::cout << "x: " << point.x << ", y: " << point.y << std::endl;
}
return 0;
}
```
在这个例子中,我们使用`cv::Point2f`类来表示每个2D点的坐标。您可以使用`x`和`y`成员变量来访问每个点的坐标。在这里,我们创建一个包含5个点的向量,并遍历它以打印每个点的坐标。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)