找回密码
 立即注册
收起左侧

graphicsView 获取图片中像素的坐标

19
回复
22279
查看
[复制链接]
累计签到:8 天
连续签到:1 天
来源: 2014-5-23 15:24:41 显示全部楼层 |阅读模式

马上注册,查看详细内容!注册请先查看:注册须知

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我在Graphics View中显示一张图片,希望有人能告诉我
用什么函数可以获得这张图片中某个像素在“该图片坐标系”中的坐标。
或者告诉我个思路也好咯~
回复

使用道具 举报

累计签到:894 天
连续签到:1 天
2014-5-24 22:05:10 显示全部楼层
斯蒂芬宇 发表于 2014-5-24 21:41
不太懂继承,您可以告诉我怎么做吗?

我刚创建了一个项目运行结果如下,

下载链接:
简单的实现,你参考一下吧。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 2 反对 0

使用道具 举报

累计签到:894 天
连续签到:1 天
2014-5-23 19:39:47 显示全部楼层
提示一下,
mapfromview(),mapfromscene(),maptoview(),maptoscene(),mapfromitem(),maptoitem()等等,就这么函数的转换。
回复 支持 反对

使用道具 举报

累计签到:8 天
连续签到:1 天
2014-5-23 21:38:47 显示全部楼层
Syylc120317 发表于 2014-5-23 19:39
提示一下,
mapfromview(),mapfromscene(),maptoview(),maptoscene(),mapfromitem(),maptoitem()等等,就这 ...

您好~小妹还想麻烦您一下。这些是坐标系转换的函数,那么通过鼠标点击的时候获取像素值是要把图片的坐标系变换到global坐标系中吗?如果是的话(***->maptoglobal()前面应该是什么呢?),到时候获取坐标应该是鼠标事件event->x()这样,还是image->x()这样呢?
回复 支持 反对

使用道具 举报

累计签到:894 天
连续签到:1 天
2014-5-23 21:53:02 显示全部楼层
斯蒂芬宇 发表于 2014-5-23 21:38
您好~小妹还想麻烦您一下。这些是坐标系转换的函数,那么通过鼠标点击的时候获取像素值是要把图片的坐标 ...

首先,你重载mousePressEvent(QMouseEvent *event);
然后item->mapfromscene(view->maptoscene(event->pos()));
回复 支持 反对

使用道具 举报

累计签到:894 天
连续签到:1 天
2014-5-24 10:50:15 显示全部楼层
本帖最后由 Syylc120317 于 2014-5-24 20:15 编辑
斯蒂芬宇 发表于 2014-5-23 21:38
您好~小妹还想麻烦您一下。这些是坐标系转换的函数,那么通过鼠标点击的时候获取像素值是要把图片的坐标 ...

我之前做的一个项目,我把你需要的剪辑出来,希望对你有帮助。
void MainView::mousePressEvent(QMouseEvent *event)
{
    qDebug()<<"Image Pos:"<<
pixmapItem->mapFromScene(mapToScene(event->pos()));
}
注意两点:1、pixmapItem换成你自己的Item,如果是图片的话,

QPixmap
pixmap(filename);
QGraphicsPixmapItem *pixmapItem = new QGraphicsPixmapItem(pixmap);

scene->addItem(pixmapItem);
2、重载的是view的mousePressEvent(),所以你需要继承QGraphicsView类。

回复 支持 反对

使用道具 举报

累计签到:8 天
连续签到:1 天
2014-5-24 16:05:25 显示全部楼层
Syylc120317 发表于 2014-5-24 10:50
我之前做的一个项目,我把你需要的剪辑出来,希望对你有帮助。
void MainView::mousePressEvent(QMouseEve ...

谢谢大哥咯~虽然不是很清楚,我按照你说的试试吧
回复 支持 反对

使用道具 举报

累计签到:894 天
连续签到:1 天
2014-5-24 20:15:51 显示全部楼层
斯蒂芬宇 发表于 2014-5-24 16:05
谢谢大哥咯~虽然不是很清楚,我按照你说的试试吧

其实不难,掌握方法就行了。
回复 支持 反对

使用道具 举报

累计签到:8 天
连续签到:1 天
2014-5-24 20:46:01 显示全部楼层
Syylc120317 发表于 2014-5-24 20:15
其实不难,掌握方法就行了。


不知道写的什么问题,一运行就错了。
QPointF pot = pixItem->mapFromScene( ui->graphicsView->mapToScene(Move_event->pos()) );
ui->graphicsView是QGraphicsView的objectName,是不是我理解错了啊
回复 支持 反对

使用道具 举报

累计签到:894 天
连续签到:1 天
2014-5-24 21:39:43 显示全部楼层
斯蒂芬宇 发表于 2014-5-24 20:46
不知道写的什么问题,一运行就错了。
QPointF pot = pixItem->mapFromScene( ui->graphicsView->mapT ...

你好像忘了这个了,2、重载的是view的mousePressEvent(),所以你需要继承QGraphicsView类。,继承的类,就不能再用ui的指针了。
回复 支持 反对

使用道具 举报

累计签到:8 天
连续签到:1 天
2014-5-24 21:41:50 显示全部楼层
Syylc120317 发表于 2014-5-24 21:39
你好像忘了这个了,2、重载的是view的mousePressEvent(),所以你需要继承QGraphicsView类。,继承的类, ...

不太懂继承,您可以告诉我怎么做吗?
回复 支持 反对

使用道具 举报

累计签到:8 天
连续签到:1 天
2014-5-24 22:08:37 显示全部楼层
Syylc120317 发表于 2014-5-24 22:05
我刚创建了一个项目运行结果如下,

下载链接:

就是这个意思!爱死你了~我弄了两个星期!!!
回复 支持 反对

使用道具 举报

累计签到:894 天
连续签到:1 天
2014-5-24 22:10:33 显示全部楼层
斯蒂芬宇 发表于 2014-5-24 22:08
就是这个意思!爱死你了~我弄了两个星期!!!

我之前有接触类似的东西,所以有经验。
回复 支持 反对

使用道具 举报

累计签到:8 天
连续签到:1 天
2014-5-24 22:27:55 显示全部楼层
Syylc120317 发表于 2014-5-24 22:10
我之前有接触类似的东西,所以有经验。

十分感谢哟~因为我是学遥感的,经常要处理卫星影像。所以,想自己把这方面的方法尽量多掌握一点~对以后也会有帮助的!
回复 支持 反对

使用道具 举报

累计签到:894 天
连续签到:1 天
2014-5-24 22:30:43 显示全部楼层
斯蒂芬宇 发表于 2014-5-24 22:27
十分感谢哟~因为我是学遥感的,经常要处理卫星影像。所以,想自己把这方面的方法尽量多掌握一点~对以后也 ...

这个这个,这么巧,话说我也是遥感专业的,我加你QQ吧。
回复 支持 反对

使用道具 举报

累计签到:8 天
连续签到:1 天
2014-5-24 22:31:47 显示全部楼层
Syylc120317 发表于 2014-5-24 22:30
这个这个,这么巧,话说我也是遥感专业的,我加你QQ吧。

哎呀~这个不太方便呐,我QQ上**比较多、、、不好意思
回复 支持 反对

使用道具 举报

累计签到:894 天
连续签到:1 天
2014-5-24 22:32:46 显示全部楼层
斯蒂芬宇 发表于 2014-5-24 22:31
哎呀~这个不太方便呐,我QQ上**比较多、、、不好意思

看你资料是武大的,话说我们专业好多都想考你们学校的研究生。
回复 支持 反对

使用道具 举报

累计签到:8 天
连续签到:1 天
2014-5-24 22:33:55 显示全部楼层
Syylc120317 发表于 2014-5-24 22:32
看你资料是武大的,话说我们专业好多都想考你们学校的研究生。

哈哈,是呐,武大这个专业确实很棒的!不过 感觉本科生大家都不怎么努力
回复 支持 反对

使用道具 举报

累计签到:894 天
连续签到:1 天
2014-5-24 22:37:34 显示全部楼层
斯蒂芬宇 发表于 2014-5-24 22:33
哈哈,是呐,武大这个专业确实很棒的!不过 感觉本科生大家都不怎么努力 ...

嗯。我不考研,我只是想看能不能从你这为同学们得到点关于考研的有价值的东西,也算是多认识一位朋友吧。我把QQ号给你发私信了。要回宿舍了,不回了。
回复 支持 反对

使用道具 举报

累计签到:2 天
连续签到:1 天
2018-5-10 00:53:58 显示全部楼层
Syylc120317 发表于 2014-5-24 22:05
我刚创建了一个项目运行结果如下,

下载链接:

您这个地方如果图片放大的话原来获取的位置能够同比例放大的么?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了