三角位置的颜色
Color in triangle position
我想获得两个图像的颜色,这些图像在三角形内部,并在同一位置与平均值制作另一个三角形。以下代码在图像中绘制一个三角形:
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main( int argc, char** argv){
Scalar color(0,0,255);
Point2f p0(50,50),p1(100,50), p2(50,100);
Mat img1 = imread("img1.png");
Mat img2 = imread("img2.png");
Mat triangle(img1.rows,img1.cols,img1.type());
triangle.setTo(color);
line(img1, p0, p1, color, 1, CV_AA, 0);
line(img1, p1, p2, color, 1, CV_AA, 0);
line(img1, p2, p0, color, 1, CV_AA, 0);
line(img2, p0, p1, color, 1, CV_AA, 0);
line(img2, p1, p2, color, 1, CV_AA, 0);
line(img2, p2, p0, color, 1, CV_AA, 0);
// if contain triangle get the color of two images
// triangle[i][j] = (img1[i][j] + img2[i][j])/2 ;
imwrite("out1.png",img1);
imwrite("out2.png",img2);
// imwrite( "triangle.png",triangle);
return 0;
}
我想获得图像中任何地方的三角形中包含的每个像素的颜色。
有人知道该怎么做吗?
有时会有助于将图像处理视为数学而不是图像……因此,如果您仅平均2个输入图像,您将在所有位置获得平均颜色。然后,如果您只想在三角形内部的答案,则将三角形在三角形内部具有1
的像素值,而在其他地方则具有0
。然后将平均图像乘以三角形图像,然后将黑色变黑(从乘以零(,只是三角形内部的平均值(从一个乘以一个(。
所以,只是在未经编译/未经测试的伪代码中:
// Load two images
Mat img1 = imread("img1.png");
Mat img2 = imread("img2.png");
// Make black mask image
Scalar black(0,0,0);
Mat mask(img1.rows,img1.cols,img1.type());
mask.setTo(black);
// Draw triangle filled with value "1" in mask
Point vertices[1][3];
vertices[0][0] = Point( 50, 50 );
vertices[0][1] = Point( 100, 50 );
vertices[0][2] = Point( 50, 100 );
const Point* ppt[1] = { vertices[0] };
int npt[] = { 3 };
fillPoly( mask, ppt, npt, 1, Scalar( 1, 1, 1 ), 8 );
Mat result;
result = mask * (img1 + img2) / 2;
相关文章:
- 将值指定给向量(2D)的向量中的某个位置
- 使用Unreal C++获取VR耳机的世界位置/方向
- 写入位置0x0000000C时发生访问冲突
- 将"打开的CV图像"中的"颜色"转换为整数格式
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- GL_SHADERSTORAGE_BUFFER位置是否与其他着色器位置冲突
- 如何在内核C++中使用1920x1080x16M图形或类似的16M颜色?(VGA)
- 如何在24位SDL_Surface上设置像素的颜色
- 如何使用cudaMallocManaged在指针位置初始化对象?(C++)
- 无法获取webot::PositionSensor对象中位置传感器的值
- 非常量变量只读位置的赋值
- 如何定义更改car类中car位置的方法
- 使用迭代器时如何访问对象在向量中的位置?
- 更改.cpp程序的输入文件中数据的位置会意外更改输出
- 求最大元素位置的分治算法
- 如何在顶点着色器中使用VBO数据作为位置数据,在片段着色器中使用统一数据作为颜色数据
- 三角位置的颜色
- 使多个形状以不同的位置、大小和颜色显示
- 具有特定颜色的像素不在 SFML 中放置的位置
- 如何获得ppm图像在(x,y)位置的颜色?