int desired_color, CvRect r);这段代码在新版的OpenCV中用什么代替
时间: 2024-03-27 19:35:37 浏览: 12
在新版的OpenCV中,CvRect已经被Rect_结构体所代替,因此函数声明应该改为:
```
void some_function(int desired_color, Rect_<int> r);
```
其中,Rect_<int>代表一个int类型的矩形区域。如果您需要使用其他数据类型的矩形区域,可以将int替换为其他数据类型(例如float、double)。
另外,如果您需要使用颜色标识符,可以使用Scalar类来代替。Scalar类用于表示颜色,其构造函数可以接受一个或多个标量值(例如红色、绿色、蓝色等)。例如,如果您需要提取红色通道的矩形区域,可以将desired_color参数改为红色的Scalar值:
```
void some_function(Scalar desired_color, Rect_<int> r);
```
具体的实现细节需要根据具体的需求和代码来进行确定。
相关问题
int desired_color, CvRect r);这段代码在OpenCV4.1.2版本中用什么代替
在OpenCV4.1.2版本中,可以直接使用Rect表示矩形区域,不需要再使用CvRect或Rect_。因此,函数声明可以改为:
```
void some_function(int desired_color, Rect r);
```
其中,Rect表示一个矩形区域,其定义如下:
```
class CV_EXPORTS Rect
{
public:
//! various constructors
Rect();
Rect(int x, int y, int width, int height);
Rect(const Point& org, const Size& size);
Rect(const Rect& r);
Rect(const CvRect& r);
Rect& operator = (const Rect& r);
//! returns the top-left corner
Point tl() const;
//! returns the bottom-right corner
Point br() const;
//! returns the size (width, height) of the rectangle
Size size() const;
//! returns the area of the rectangle
int area() const;
//! returns true iff the rectangle is empty
bool empty() const;
int x, y, width, height; //< the top-left corner, as well as width and height of the rectangle
};
```
同时,如果您需要使用颜色标识符,可以使用Scalar类来代替。Scalar类用于表示颜色,其构造函数可以接受一个或多个标量值(例如红色、绿色、蓝色等)。例如,如果您需要提取红色通道的矩形区域,可以将desired_color参数改为红色的Scalar值:
```
void some_function(Scalar desired_color, Rect r);
```
具体的实现细节需要根据具体的需求和代码来进行确定。
nt desired_color, CvRect r);这段代码在新版的OpenCV中用什么代替
在新版的OpenCV中,CvRect已经被Rect_结构体所代替,因此函数声明应该改为:
```
void some_function(int desired_color, Rect_<int> r);
```
其中,Rect_<int>代表一个int类型的矩形区域。如果您需要使用其他数据类型的矩形区域,可以将int替换为其他数据类型(例如float、double)。
另外,如果您需要使用颜色标识符,可以使用Scalar类来代替。Scalar类用于表示颜色,其构造函数可以接受一个或多个标量值(例如红色、绿色、蓝色等)。例如,如果您需要提取红色通道的矩形区域,可以将desired_color参数改为红色的Scalar值:
```
void some_function(Scalar desired_color, Rect_<int> r);
```
具体的实现细节需要根据具体的需求和代码来进行确定。