| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1465 人关注过本帖
标题:这个程序为什么会停止工作? 逻辑没问题啊,把那个cout注释取消又不报错了? ...
只看楼主 加入收藏
白金之星
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2018-3-12
结帖率:92.86%
收藏
已结贴  问题点数:20 回复次数:5 
这个程序为什么会停止工作? 逻辑没问题啊,把那个cout注释取消又不报错了????
#include<iostream>
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>
#include <windows.h>
#include<math.h>
#include <stdlib.h>

using namespace std;
using namespace cv;


int main()
{
    IplImage* img=cvLoadImage("lena.jpg",1);
    int M=img->height;
    int N=img->width;
    CvScalar* s=new CvScalar[M*N];

    cvShowImage("加密前的图片",img);
   
    for (int i = 0; i < img->height; i++)
    {
        for (int j = 0; j < img->width; j++)
        {

            s[i*M+j]=cvGet2D(img,i,j);//提取像素点
        }
    }
   
    int S=1000;

    int sum=0;
   
    for(int i=0;i<M*N;i++)
        sum+=s[i].val[0];
    double supkey=(double(sum%256))/256;

       double x1=0.1;
       double u=4;
       double y11=0.2;
       double k=3;

        double x=x1*supkey;
        double y=y11*supkey;
        
        
        double* L=(double*)malloc(M*N+S);
        double* C=(double*)malloc(M*N+S);
        L[0]=x;
        C[0]=y;

        for(int i=1;i<M*N+S;i++)
        {
            x=x*u*(1-x);
            y=cos(k*acos(y));
            L[i]=x;
            C[i]=y;
            //cout<<C[i]<<endl;
        }
        waitKey(0);
        //cvReleaseImage( &img ); //释放图像
        return 0;

}
搜索更多相关主题的帖子: cout include int for double 
2018-05-14 23:58
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:20 
虽然 #include<iostream>,但一切都跟C++无关

s[i*M+j] 我猜你想要的是 s[i*N+j]
两处 (double*)malloc(M*N+S),我猜你想要的是 (double*)malloc( (M*N+S)*sizeof(double) )
2018-05-15 08:33
白金之星
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2018-3-12
收藏
得分:0 
回复 2楼 rjsp
哇 哇 哇  谢谢大佬!真的超级感谢!我找了好久,都快崩溃了,
我初学编程,都是自学的,老师都不怎么讲,自己知识有很多漏洞
哇 超级感谢!
2018-05-15 09:00
白金之星
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2018-3-12
收藏
得分:0 
回复 2楼 rjsp
还有个问题
那为什么我打印出来不会停止工作?
按我上面的写法L和C数组定义的大小应该是字节数,那我的数据应该放不下???
打印为什么不报错?
2018-05-15 09:10
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:0 
回复 4楼 白金之星
研究错误行为是没有任何意义的
2018-05-15 09:17
白金之星
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2018-3-12
收藏
得分:0 
回复 5楼 rjsp
eeemmmmmmm
2018-05-15 16:44
快速回复:这个程序为什么会停止工作? 逻辑没问题啊,把那个cout注释取消又不报 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017050 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved