opencv 鼠标获取坐标,OpenCv快速入门(Python版)

 admin   2024-04-13 10:51   6 人阅读  0 条评论

有不少网友都关注OpenCv快速入门(Python版)和一些opencv 鼠标获取坐标的题,但是大家不是很了解,接下来听小编为大家解吧!


OpenCV是一个分布式、跨的计算机视觉库,可以在Linux、Windows和MacOS操作系统上运行。它轻量级且高效,由一组C函数和一些C++类组成。它还提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉领域的许多常见算法。如果你在学习过程中遇到任何题,最好的办法就是参考opencv文档。


1读取、显示和写入图像


读取、显示和写入图像分别对应三个函数cv2imread、cv2imshow和cv2imwrite。


11图像读取


语法cv2imreadfilename[,flag]--->图片参数文件名---文件路径,路径中不能包含汉字。Flags---可选标志,用于指定图像读取风格,典型标志有cv2IMREAD_UNCHANGED-1、cv2IMREAD_GRAYSCALE0、cv2IMREAD_COLOR1。默认值为1。注意opencv读取色图像的格式是BGR,但大多数视觉库使用RGB,因此当将OpenCV与其他工具包一起使用时,从一个库切换到另一个库时,不要忘记交换蓝色和红色通道。


12个显示图像


语法cv2imshowwindow_name,image---gt;无参数window_name---显示图像的窗口的名称。image---显示图像的变量名。注意此函数通常与cv2waitKey、cv2destroyAllWindows和cv2destroyWindow结合使用。cv2waitKey函数是一个键盘绑定函数,它等待任何键或指定的键来继续程序。cv2destroyAllWindows用于销毁所有窗口,cv2destroyWindow则销毁指定窗口。


importcv2readimageimage_unchanged=cv2imread34;cv2IMREAD_UNCHANGEDimage_grayscale=cv2imread34;cv2IMREAD_GRAYSCALEimage_color=cv2imread34;cv2IMREAD_COLOR39;unchanged39;grayscale39;color永远暂停程序,直到按任意键。cv2waitKey034;imagecatjpg39;grayscale34;imagecat_grayscalejpg34;Spacevalue定义鼠标回调的“Action”函数defshowPixelValueevent,x,y,flags,param:如果event==cv2EVENT_MOUSEMOVE:则检查鼠标是否移动。色空间值转换ycb=cv2cvtColornpuint8[[bgr]],cv2COLOR_BGR2YCrCb[0][0]lab=cv2cvtColornpuint8[[bgr]],cv2COLOR_BGR2Lab[0][0]hsv=cv2cvtColornpuint8[[bgr]],cv2COLOR_BGR2HSV[0][0]在结果区域显示鼠标位置的各种颜色空间值。cv2putTextplaceholder,34;formatbgr,20,70,cv2FONT_HERSHEY_COMPLEX,9,255,255,255,1,cv2LINE_AAcv2putTextplaceholder,34;格式ycb,20,210,cv2FONT_HERSHEY_COMPLEX,9,255,255,255,1,cv2LINE_AAcv2putTextplaceholder,34;formatlab,20,280,cv2FONT_HERSHEY_COMPLEX,9,255,255,255,1,cv2LINE_AA显示组合图像cv2imshow39;CombinedResultif__name__==39;3336039;image/rubjpg显示转换后尺寸图像cv2imshow39;img39;PRESSP是上一张图像,N是下一张图像创建鼠标回调,加载回调“action”函数并在“PRESS”显示框中执行该操作。cv2setMouseCallback39;showPixelValuei=0while1:k=cv2waitKey10xFF39;n39;按P获取上一张图像,N获取下一张图像按“p”切换到上一张图像。elifk==ord39;i-=1img=cv2imreadfiles[ilenfiles]img=cv2resizeimg,400,400cv2imshow39;img39;imagecatjpg指定目标图像的宽度和高度39;cat_down-Noistortion39;cat_up-无畸变图像sizecat,None,fx=12,fy=12cv2imshow39;cat_down_1cv2imshow39;cat_up_139;catistortion1指定图像调整大小方法cat_scale0=cv2resizecat,150,150,interpolation=cv2INTER_AREAcat_scale1=cv2resizecat,450,450,interpolation=cv2INTER_CUBICcat_scale2=cv2resizecat,450,450,interpolation=cv2INTER_LINEARcat_scale3=cv2resizecat,150,150,interpolation=cv2INTER_NEARESTcv2imshow39;cat_scale0cv2imshow39;cat_scale1cv2imshow39;cat_scale2cv2imshow39;运行cat_scale3cv2waitKey0cv2des的结果troyAllWindows如下。


32裁剪图像


图像裁剪涉及从图像中删除不需要的对象或区域。即,移除其他对象或区域,同时保留所需的图像区域。opencv中的图像裁剪是使用numpy数组切片方法实现的。首先,我们需要知道图像是一个具有三个维度的数组高度、宽度和通道数。仅裁剪图像意味着裁剪宽度和高度尺寸。具体如下语法image[start_row:end_row,start_col:end_col]---gt;dst参数start_row,end_row---图像的起始行和结束行坐标。start_col:end_col---图像开始和结束的列坐标。注意图像可以被认为是坐标系。坐标原点是图像的左上顶点。裁剪区域是由四条直线围成的区域。


IMPORTCV2CAT=CV2IMREAD39;Printcatshape39;Original39;Cropped39;IMAGECATJPG图像中心旋转=width/3,Height/10rotate_matrixE=12rotated_cat=cv2warpaffinecat,rotate_matrix,dsize=500,30039;Originalimage39;rotated_cat风扇图像tx,ty=width/5,-height/5Translation_matrix=nparray[[1,0,tx],[0,1,ty]]Translation_cat=cv2warpAffinecat,Translation_matrix,dsize=500,300cv2imshow39;catcv2imshow39;Translation_catcv2waitKey0cv2destroyAllWindows运行结果如下


34翻转图像


图像翻转(也称镜像)主要包括垂直翻转、水平翻转、水平和垂直翻转。语法cv2flipsrc,FlipCode[,dst]---gt,dst参数src---源图像。FlipCode---翻转模式。FlipCode==0,垂直翻转;翻转代码>>0、水平翻转;翻转代码lt;0,水平和垂直翻转。


导入cv2importnumpy与npcat=cv2imread39;39;com

一、cst得到图像后怎么标出某点的数据?

需要计算机视觉中的图像处理技术来显示特定点的数据。1-首先需要获取图像文件,可以使用机器人、相机等设备来采集图像。2-然后使用OpenCV、Matlab等图像处理软件进行图像处理和分析,提取所需的数据信息。3-接下来,如果要显示特定点的数据,可以使用鼠标或其他交互设备在图像中标记所需点的位置,然后提取该点的值并显示它。数据提取过程必须根据具体的应用场景(例如图像畸变校正、噪声抑制等)进行处理。


二、如何找到图片蓝色像素点的坐标?

关于这个题,如果你想找到图片中蓝色像素的坐标,你可以使用图像处理库或你的编程语言中的图像处理函数。一般做法如下


1-读取图像使用图像处理库中的函数读取图像,例如“imread-”。


2-颜色空间转换将图像从默认的BGR颜色空间转换为HSV颜色空间。这是因为蓝色的像素值范围在HSV颜色空间中更容易定义。


3-像素坐标提取迭代图像中的每个像素以确定其颜色值是否满足蓝色的定义。这可以利用HSV颜色空间中的颜色值来判断。蓝色的颜色值通常介于100到150之间。如果像素的颜色值在此范围内,则可以将其视为蓝色像素。


4-记录坐标如果判断该像素为蓝色,则记录坐标。您可以使用二维数组或列表来存储像素的x和y坐标。


5-打印结果打印或将记录的坐标保存到文件中以供以后使用。


请注意,这只是一般的实现方法,具体实现可能会因图像处理库或编程语言的不同而有所不同。


显微镜图像测量方法如下。


概述显微测量基本上有两种类型。第一个是目镜差异化测量。第二种是软件测量。


第一如何测量目镜差异


这种测量方法最为方便,主要是在显微镜的目镜上激光雕刻网格线,按照国家标准雕刻。形状基本上是一个十字,十字线上有网格图案。每格标准尺寸为0-1MM。该方法只能测量长度。


观察方法


调整您正在查看的对象后,将要测量的对象移动到网格线上并作为示例读取。您正在查看的物体在刻度上占据3个空格。然后测量的尺寸是0-3MM。如果不满,你就得估计一下。这种测量方法精度较低。但很方便。


第二类软件测量方法


这种测量方法比较复杂。使用工业相机在计算机上收集图像,然后通过软件进行测量。测量方法有多种,包括长度、角度、直径、周长、圆面积、多边形面积测量、同心圆心差、弧长、弧角等。专业级测量软件可让您自动捕获颗粒并自动读取颗粒计数。还包括自动测量功能。测量参数还可以以报告格式输出,并可自由定制。这个软件有很多功能,我不会在这里一一描述。


测量方法


调整显微镜后,打开计算机上的软件。然后将图像显示在电脑上,按照软件中的尺寸修改步骤操作,首先准确校正软件,修改软件时需要校正标尺,校正标尺指向0-1MM。0-01MM1MM3种。根据各种显微镜观察,


本文地址:http://chorofun.com/post/255792.html
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

 发表评论


表情

还没有留言,还不快点抢沙发?