又来做下笔记了。现在我的毕业设计进行到数据处理的阶段,要在乳腺图像上截取4张相同大小的1024*1024图片,并且每张图片都必须覆盖微钙化点,以下是我现在用到的一些简单程序。
1.首先是截图程序如下

import numpy as np
import cv2
img = cv2.imread('E:\desktop\cal\mdb209ll.pgm',1)
#加载图片
cutimg = img[1330:2354,1614:2638]
# 其中截取的是[y1:y2,x1:x2],x1y1为左上角顶点坐标,x2y2为右下角顶点坐标
#在图像里,都是以原图的左上顶点为原点,行对应的是y坐标,列对应的是x坐标。
#cv2.imshow('origin',img)
#展示原图
cv2.imshow('image',cutimg)
#展示截图
cv2.imwrite('209.png',cutimg)
#保存截图
k=cv2.waitKey(0)
#无限刷新展示图片,除非按esc关闭所有窗口
if k==27:cv2.destroyAllWindows()

效果如下:
原图:
截图:

2.opencv在plot中显示图片(带坐标轴)
程序如下:

import numpy as np
import cv2
from matplotlib import pyplot as pltimg = cv2.imread('E:\desktop\cal\mdb209ll.pgm')  # 读取图片plt.imshow(img)
"""
彩色图像使用 OpenCV 加载时是 BGR 模式。但是 Matplotlib是 RGB 模式。所以彩色图像如果已经被OpenCV 读取,它将不会被 Matplotlib 正确显示。
"""
#plt.xticks([]), plt.yticks([])  # 隐藏x轴和y轴的函数值
plt.show()

效果如下:

鼠标点击图片显示点及坐标,程序如下:

# coding: utf-8
import cv2
import numpy as npimg = cv2.imread("E:\desktop\mask another\m209.jpg")# print img.shapedef on_EVENT_LBUTTONDOWN(event, x, y, flags, param):if event == cv2.EVENT_LBUTTONDOWN:xy = "%d,%d" % (x, y)printxycv2.circle(img, (x, y), 1, (255, 0, 0), thickness=-1)cv2.putText(img, xy, (x, y), cv2.FONT_HERSHEY_PLAIN,5.0, (255, 255, 255), thickness=5)cv2.imshow("image", img)cv2.namedWindow("image",cv2.WINDOW_KEEPRATIO)
cv2.setMouseCallback("image", on_EVENT_LBUTTONDOWN)
cv2.imshow("image", img)while (True):try:cv2.waitKey(100)except Exception:cv2.destroyWindow("image")breakcv2.waitKey(0)
cv2.destroyAllWindow()

解释一下,其中
cv2.putText(img, ‘xy’, (50, 50), font, 1.2, (255, 255, 255), 2)
这个函数是加入文字的意思,后面括号里依次对应:(图像,文字内容, 坐标 ,字体,大小,颜色,字体厚度)

今天还遇到一个问题,就是如果载入的图片太大,比如一些高分辨率的医学图像,运行出来显示图片的时候会只显示图像的一部分。下面用cv2.namedWindow() 函数来解决。

效果图如下:

**cv2.nameWindow()**函数的用法如下:

1.窗口大小可以改变:

cv2.namedWindow("image",cv2.WINDOW_NORMAL)
或者cv2.namedWindow('image',cv2.WINDOW_GUI_NORMAL)

2.窗口大小不可以改变:

cv2.namedWindow("image",cv2.WINDOW_AUTOSIZE)

3.窗口大小自适应比例:

cv2.namedWindow("image",cv2.WINDOW_FREERATIO)

4.窗口大小保持比例:

cv2.namedWindow("image",cv2.WINDOW_KEEPRATIO)

5.显示色彩变成暗色:

cv2.namedWindow('image',cv2.WINDOW_GUI_EXPANDED)

cv2.imshow(‘窗口标题’,image),如果前面没有cv2.namedWindow,就自动先执行一个cv2.namedWindow()

参考博文:opencv在坐标中显示图片1.https://blog.csdn.net/qq_38973721/article/details/105568684?ops_request_misc=&request_id=&biz_id=102&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-2
cv2.nameWindow()函数的使用2.https://blog.csdn.net/xykenny/article/details/90513480
点击图片显示点和坐标 3.https://blog.csdn.net/huzhenwei/article/details/82900715?ops_request_misc=&request_id=&biz_id=102&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0

opencv+python 添加文字 cv2.putText
4.https://www.cnblogs.com/mrfri/p/8557521.html

还是学到了不少东西,嘻嘻。

python截取图片的ROI+OpenCV 在坐标中显示图片+鼠标点击图片显示点坐标相关推荐

  1. Python鼠标点击图片,获取点击点的像素坐标/像素值

    import cv2 import numpy as np #图片路径 img = cv2.imread('031.jpg') a =[] b = [] def on_EVENT_LBUTTONDOW ...

  2. 【OpenCV图像处理入门学习教程六】基于Python的网络爬虫与OpenCV扩展库中的人脸识别算法比较

    OpenCV图像处理入门学习教程系列,上一篇第五篇:基于背景差分法的视频目标运动侦测 一.网络爬虫简介(Python3) 网络爬虫,大家应该不陌生了.接下来援引一些Jack-Cui在专栏<Pyt ...

  3. 鼠标点击图片移动时图片移动,松开鼠标,再移动鼠标时,图片仍随着鼠标移动问题

    解决方法见红色代码,在mousedown事件下加入红色部分的代码,即禁止拖动img图片.原因不明,但是好使,哈哈.下面的整个代码为实现 鼠标点击图片移动图片,松开鼠标停止移动 功能.//鼠标拖动 va ...

  4. Unity 获取鼠标点击图片时 获取点击位置的像素

    脚本要求: 需要获取颜色的图片以走下角为起点建立空物体 右上角建立空物体(两个空物体均设置为图片的子物体,设置好锚点,将坐标改为0即可).建立好碰撞体(BoxCollider).用2DBoxColli ...

  5. (一)MFC读取并显示一幅位图图像,并获取鼠标点击位置的像素坐标和灰度值(接上篇博客)

    上篇博客简要介绍了如何利用MFC读取并显示一幅位图图像,并获取鼠标点击位置的像素坐标和灰度值信息,主要包含了对话框的创建和添加程序,代码也在上一页中给了大家,但是并没有详细说明功能,所以在这一节当中主 ...

  6. html鼠标点击切换图片,js鼠标点击图片切换效果代码分享

    本文实例讲述了js鼠标点击图片切换效果.分享给大家供大家参考.具体如下: 实现原理很简单,其实是多张图片叠加起来,点击图片后依次赋予图片一个class,使其看起来在表面而已,点击图片,可以实现图片的不 ...

  7. 基于jquery鼠标点击图片翻开切换效果

    基于jquery鼠标点击图片翻开切换效果是一款基于jQuery+CSS3实现的点击图片切换特效.效果图如下: 在线预览    源码下载 实现的代码. html代码: <div class=&qu ...

  8. python如何获取鼠标点击图片的像素点坐标

    PYTHON CV2 图片中鼠标点击获取像素点坐标 # -*- coding: utf-8 -*- """ @File : get_actual_depth.py @Ti ...

  9. (一)MFC读取并显示一幅位图图像,并获取鼠标点击位置的像素坐标和灰度值

    题目是老师布置的一道作业题,要求用C或C++完成,但不能用VTK/Opencv等软件包,经过很多摸索之后实现了该功能,后续可能还有其他功能要实现,所以先写一篇博客记录下,一方面是方便自己以后使用,另一 ...

最新文章

  1. BUUCTF-Reverse:reverse2
  2. 打印show attend and tell的解码器网络结构
  3. 关闭钩子(ShutdownHook)
  4. linux精灵进程之crond
  5. 西门子mag6000接线_西门子(SIEMENS)妙声力系列电磁流量计变送器MAGFLO MAG5000 MAG6000中文使用手册.pdf...
  6. mac空格键跟删除键失灵
  7. 新浪登陆按钮三种方式解析
  8. gcc编译出错collect2: error: ld returned 1 exit status的解决办法
  9. echarts 全国各省市3D图
  10. 【福利】小程序开发资源干货汇总
  11. 网站关键词优化技巧都有哪些?如何进行优化?
  12. 阿里云认证有什么用?考试费用高不高?
  13. 谈谈Web端性能测试
  14. 【GaussDB】初始GaussDB和GaussDB版本介绍
  15. robotframework-给定日期推算星期几
  16. C语言:模拟用户登录
  17. 行列式的本质是什么?
  18. 身为一个程序媛的深刻自我检讨
  19. 德国IT行业薪酬2019年终大盘点
  20. 机器学习——07树回归

热门文章

  1. 使用编码器控制步进电机
  2. 即使是月薪2000的工作,也要拿出月薪一万的干劲
  3. 【图卷积网络】03-空域卷积介绍 (一)
  4. 华为eNSP-公司内部网络访问外网的模拟综合实验
  5. docker run -v 详解
  6. PC客户端软件升级方式简史
  7. CISCO路由连通(静态路由)小实验
  8. excel中Vlookup的使用,跨表查询
  9. 车辆管理平台发展思考
  10. 华维单片机编程-无线红外探测器01-产品简介和功能需求