每次我运行此代码程序都没有响应,然后我得到这个消息,我不知道是什么问题? 那么有人可以帮助我吗?
我的代码:
int main(){
Mat image,DctImage;
image=imread("2.jpg");
cvtColor(image,image,CV_BGR2GRAY);
image.convertTo(image,CV_32FC1);
Mat freq;
dct(image,freq);
imwrite("DctImage.jpg",freq);
int Start;int col=0;int rows=0;
stringstream ss;
for(Start=100;Start>0;Start=Start-1){
for(int x=Start;x<freq.rows;x++){
for(int y=Start;y<freq.cols;y++){
freq.at<double>(x,y)=0.0;
}
}
Mat dst(freq.size(),freq.type());
idct(freq,dst);
ss<<Start<<".jpg";
cout<<ss.str()<<endl;
imwrite(ss.str(),dst);
ss.str("");
cout<<ss.str()<<endl;
}
答案 0 :(得分:1)
尝试将freq.at<double>(x,y)=0.0;
更改为freq.at<float>(x,y)=0.0;
,因为您提供了image.convertTo(image,CV_32FC1);并且应该期望相同的元素类型。