小编ana*_*y99的帖子

如何清除cv :: Mat内容?

我有一个,cv::Mat但我已经插入了一些值,如何清除其中的内容?

谢谢

c++ opencv

22
推荐指数
3
解决办法
4万
查看次数

如何基于Y轴对点矢量进行排序?

我有一组坐标,例如:

10,40; 9,27; 5.68; 7.55; 8,15;

如何在不丢失已排序Y轴的正确X轴的情况下对这些坐标进行排序.

从上面的例子我想要排序坐标,所以正确的输出将是:

8,15; 9,27; 10,40; 7.55; 5.68.

任何建议将不胜感激.谢谢.

c++ algorithm opencv

7
推荐指数
1
解决办法
1万
查看次数

如何降低OpenCV中图像的分辨率?

所以,我有一个来自数字扫描仪的图像,其分辨率为26百万像素.我想将图像的分辨率降低到500万像素.

是否可以在不损坏内容的情况下降低图像的分辨率?

如果是,如何在OpenCV实现中减少它?

任何帮助将不胜感激.谢谢

c++ opencv image

3
推荐指数
1
解决办法
2万
查看次数

如何对Vector进行排序并删除相同的值?

我有一个包含数据的向量,如:15,27,40,50,15,40

我想对它进行排序并删除相同的值,因此排序后的输出应为:15,27,40,50

我尝试了几种方法:

std::sort(vectProjHori.begin(),vectProjHori.end());
for (std::vector<int>::iterator it=vectProjHori.begin(); it!=vectProjHori.end(); ++it)
{
    if(it+1 != it)
    {
        std::cout << ' ' << *it;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,它无法在向量中删除相同的值.我真的希望有人愿意提供一种有效的方法.

任何帮助将受到高度赞赏.谢谢

c++ algorithm vector

1
推荐指数
1
解决办法
83
查看次数

为什么我使用数组获得不同的结果?

我做了一个简单的程序来计算矩阵,这里是代码:

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
int result[3] = {0,0,0};
int matrixc[3][6] = {
        {0,0,0,0,0,1},
        {0,0,0,1,1,1},
        {1,0,1,0,0,1}
        };
for(int x=0;x <3;x++)
{
    for(int y=0;y < 6;y++)
    {           
        result[x] += (matrixc[x][y] * pow(2,6-y));
    }
    cout << result[x] << endl;
}
}
Run Code Online (Sandbox Code Playgroud)

输出是我想要的,它是:2,14,and 82.但是,当我删除整数数组中的初始化时result:

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
int result[3]; //deleted initialization
int matrixc[3][6] = {
        {0,0,0,0,0,1},
        {0,0,0,1,1,1},
        {1,0,1,0,0,1}
        };
for(int x=0;x <3;x++)
{
    for(int y=0;y < …
Run Code Online (Sandbox Code Playgroud)

c++ arrays math

0
推荐指数
1
解决办法
137
查看次数

为什么我在"For"和"While"之间得到不同的结果?

所以,我正在研究一个检测点坐标的项目.

我从中提取检测到的坐标std::vector<cv::Point> dots并将x和y坐标中的每一个存储到std::vector<int> dotsXstd::vector<int> dotsY.(我知道我可以使用dots.xdots.y代替,但那不是我想要的)

每当我想打印输出时,我在for循环和while循环之间得到不同的结果来显示值向量.举个例子:

检测到的X坐标为15,20,50,检测到的Y坐标为2,10,20.

如果我使用for循环:

for(int x=0;x < dotsX.size();x++)
{
     std::cout << dotsX[x] << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

输出是相同的:15,20,50.

但是,如果我使用while循环:

int x=0;
while(dotsX[x])
{
    std::cout << dotsX[x] << std::endl;
    x++;
}
Run Code Online (Sandbox Code Playgroud)

输出很奇怪:15,20,50,32.它总有一个额外的值(比如值32,有时是10201或4等).

我不知道为什么会这样.

任何帮助将不胜感激.谢谢

c++ vector

0
推荐指数
1
解决办法
108
查看次数

标签 统计

c++ ×6

opencv ×3

algorithm ×2

vector ×2

arrays ×1

image ×1

math ×1