gpt4 book ai didi

c++ - 计算像素坐标 x 和 y

转载 作者:太空宇宙 更新时间:2023-11-04 14:16:28 25 4
gpt4 key购买 nike

我尝试用这段代码对图像中的像素坐标 (x,y) 求和

这是代码

#include<cv.h>
#include<cvaux.h>
#include<stdio.h>
#include<highgui.h>
#include<iostream>
#include<cxtypes.h> // for cvarr
using namespace std;
// This program to count the pixel value in the gray image
void main()
{
IplImage* image;
int w,h;
char* filename;
filename="D:\\Recognition\\Image Crop\\7.jpg";
image=cvLoadImage(filename,0); //for grayscal image
// Get image attribute
w=image->width; //image width
h=image->height; //image height
cout<<"1. image width "<<w<<"\n2. image height "<<h<<" \n";
int Sx,Sy;
const CvArr* arr;
CvScalar se; // to store the num
for(int x=0;x>image->width;x++)
{
for(int y=0;image->height;y++)
{
se=cvGet2D(image,x,y);
Sx=se.val[y];
Sx+=Sx;
}
Sy=se.val[x];
Sy+=Sy;
}
cout<<"3. sum x ="<<Sx<<"\n4. sum y ="<<Sy<<" \n";
}

我正在尝试计算像素坐标 x 和 y 的总和。

最佳答案

这些循环是怎么回事?

for(int x=0;x>image->width;x++)
{
for(int y=0;image->height;y++)

应该是:

for(int x=0;x<image->width;x++)
{
for(int y=0;y<image->height;y++)

对吗?

还有,这是怎么回事?:

        Sx=se.val[y];
Sx+=Sx;

您要在每次循环迭代时重置 Sx,然后将其加倍,然后在下一次循环迭代时丢弃该计算。 Sy 的类似问题。

我鼓励您逐行查看您的程序,并在公开发布问题之前认真思考它在做什么。

关于c++ - 计算像素坐标 x 和 y,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10767057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com