QImage访问像素并保存时提示像素点超出范围!

林小林000 2017-10-23 09:08:37


QImage source;
source.load("source.png");
std::vector<QRgb>sor;


std::cout << sor.size();
for (int i = 0; i < source.height(); i++)
for (int j = 0; j <source.width(); j++)
sor.push_back(QRgb(source.pixel(i, j)));
RgbToLab(sor);

运行以上代码时,控制台输出:好多像素超出范围,程序终止并弹出对话框:vector下标超出范围。
调试的时候前几十个像素都能
求大神解答
...全文
505 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
林小林000 2017-10-25
  • 打赏
  • 举报
回复
我已经自己解决了,,,,我下面调用函数 用的是auto自动测定的QRgb变量,确实越界了~~~
赵4老师 2017-10-24
  • 打赏
  • 举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止
林小林000 2017-10-23
  • 打赏
  • 举报
回复
上面有一个小的失误,我把pixel函数的(i,j)换成了(j,i)这样的画他不显示像素超出范围了,但是显示vector下标超出范围
林小林000 2017-10-23
  • 打赏
  • 举报
回复
前几十个像素都能正确的加入vector,但是这个循环总是运行不完就直接中止退出了

24,855

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧