Python实现点云投影到平面显示
值得学习的地方:
1.选择合法索引的方式
2.数组转图像显示
import numpy as np from PIL import Image #input : shape(N, 4) # (x, y, z, intensity) def pointcloud2image(point_cloud): x_size = 640 y_size = 640 x_range = 60.0 y_range = 60.0 grid_size = np.array([2 * x_range / x_size, 2 * y_range / y_size]) image_size = np.array([x_size, y_size]) # [0, 2*range) shifted_coord = point_cloud[:, :2] + np.array([x_range, y_range]) # image index index = np.floor(shifted_coord / grid_size).astype(np.int) # choose illegal index bound_x = np.logical_and(index[:, 0] >= 0, index[:, 0] < image_size[0]) bound_y = np.logical_and(index[:, 1] >= 0, index[:, 1] < image_size[1]) bound_box = np.logical_and(bound_x, bound_y) index = index[bound_box] # show image image = np.zeros((640, 640), dtype=np.uint8) image[index[:, 0], index[:, 1]] = 255 res = Image.fromarray(image) # rgb = Image.merge('RGB', (res, res, res)) res.show()
以上这篇Python实现点云投影到平面显示就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Python实现投影法分割图像示例(二)
在上篇博客中,我们已经实现了水平投影和垂直投影图的绘制.接下来,我们可以根据获得的投影数据进行图像的分割,该法用于文本分割较多,所以此处依然以上次的图为例. 先把上次的两幅图搬过来,方便讲解. 上面两图分别从垂直和水平方向描述了图像中文本的分布.我们想象一下,将两幅图重叠起来(当然这里比例要调整下),那么我们就能得到四个重叠的白块,而这些白块所处的位置正是原图中文本的位置.所以接下来的任务就是,找出这些白块的坐标,此处白块近似矩形,所以我们要求矩形的四个坐标. 下面看代码. #根据水平投影值选定
-
Python实现投影法分割图像示例(一)
投影法多用于图像的阈值分割.闲话不多说,现用Python实现. 上代码. import cv2 import numpy img = cv2.imread('D:/0.jpg', cv2.COLOR_BGR2GRAY) height, width = img.shape[:2] #resized = cv2.resize(img, (3*width,3*height), interpolation=cv2.INTER_CUBIC) #二值化 (_, thresh) = cv2.threshold
-
python使用numpy实现直方图反向投影示例
最近跟着OpenCV2-Python-Tutorials在学习python_opencv中直方图的反向投影时,第一种方法是使用numpy实现将图中的红色玫瑰分割出来,教程给的代码缺了一句函数,导致实现不出来. 自己加上了后(也不知到这样加对不对)代码和效果如下: 代码: import cv2 import numpy as np roi = cv2.imread('./data/rose_red.jpg') hsv = cv2.cvtColor(roi,cv2.COLOR_BGR2HSV) #t
-
python实现高斯投影正反算方式
使用Python实现了一下我们同事的C++高斯投影正反算,实际跑通,可用. #!/ usr/bin/python # -*- coding:utf-8 -*- import math def LatLon2XY(latitude, longitude): a = 6378137.0 # b = 6356752.3142 # c = 6399593.6258 # alpha = 1 / 298.257223563 e2 = 0.0066943799013 # epep = 0.0067394967
-
Python实现图像的垂直投影示例
Python + OpenCV 直接上代码 import cv2 import numpy as np from matplotlib import pyplot as plt from PIL import Image img=cv2.imread('0002.jpg') #读取图片,装换为可运算的数组 GrayImage=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #将BGR图转为灰度图 ret,thresh1=cv2.threshold(GrayImage,1
-
解决python gdal投影坐标系转换的问题
要将xian80地理坐标系转换成投影坐标系: xian1980 = """ GEOGCS["GCS_Xian_1980", DATUM["Xian_1980", SPHEROID["Xian_1980",6378140.0,298.257]], PRIMEM["Greenwich",0.0], UNIT["Degree",0.0174532925199433]]"&q
-
Python实现点云投影到平面显示
值得学习的地方: 1.选择合法索引的方式 2.数组转图像显示 import numpy as np from PIL import Image #input : shape(N, 4) # (x, y, z, intensity) def pointcloud2image(point_cloud): x_size = 640 y_size = 640 x_range = 60.0 y_range = 60.0 grid_size = np.array([2 * x_range / x_size,
-
python opencv 直方图反向投影的方法
本文介绍了python opencv 直方图反向投影的方法,分享给大家,具体如下: 目标: 直方图反向投影 原理: 反向投影可以用来做图像分割,寻找感兴趣区间.它会输出与输入图像大小相同的图像,每一个像素值代表了输入图像上对应点属于目标对象的概率,简言之,输出图像中像素值越高的点越可能代表想要查找的目标.直方图投影经常与camshift(追踪算法)算法一起使用. 算法实现的方法,首先要为包含我们感兴趣区域的图像建立直方图(样例要找一片草坪,其他的不要).被查找的对象最好是占据整个图像(图像里全是
-
Python+腾讯云服务器实现每日自动健康打卡
目录 1.配置需要 2.实现功能 3.参考链接 4.linux服务器配置 5.代码部分 6.运行结果图 1.配置需要 python3.7,Chrome或者Edeg浏览器,Chrome驱动或者Edge驱动 #需要配置selenium库,baidu-aip库,pillOW库,在终端执行以下命令 pip install selenium pip install pillow pip install baidu-aip 2.实现功能 1.模拟登录说唱大学微服务,需要百度OCR智能识别API接口识别验证码
-
Python编程实现控制cmd命令行显示颜色的方法示例
本文实例讲述了Python编程实现控制cmd命令行显示颜色的方法.分享给大家供大家参考,具体如下: 基于win7 + python3.4 运行效果: import ctypes import sys '''Windows CMD命令行颜色''' # 句柄号 STD_INPUT_HANDLE = -10 STD_OUTPUT_HANDLE= -11 STD_ERROR_HANDLE = -12 # 前景色 FOREGROUND_BLACK = 0x0 # 黑 FOREGROUND_BLUE = 0
-
python生成词云的实现方法(推荐)
期末复习比较忙过段时间来专门写scrapy框架使用,今天介绍如何用python生成词云,虽然网上有很多词云生成工具,不过自己用python来写是不是更有成就感. 今天要生成的是励志歌曲的词云,百度文库里面找了20来首,如<倔强>,海阔天空是,什么的大家熟悉的. 所要用到的python库有 jieba(一个中文分词库).wordcould .matplotlib.PIL.numpy. 首先我们要做的是读取歌词.我将歌词存在了文件目录下励志歌曲文本中. 现在来读取他 #encoding=gbk l
-
Python+matplotlib+numpy实现在不同平面的二维条形图
在不同平面上绘制二维条形图. 本实例制作了一个3d图,其中有二维条形图投射到平面y=0,y=1,等. 演示结果: 完整代码: from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np # Fixing random state for reproducibility np.random.seed(19680801) fig = plt.figure() ax = fig.a
-
python爬虫租房信息在地图上显示的方法
本人初学python是菜鸟级,写的不好勿喷. python爬虫用了比较简单的urllib.parse和requests,把爬来的数据显示在地图上.接下里我们话不多说直接上代码: 1.安装python环境和编辑器(自行度娘) 2.本人以58品牌公寓为例,爬取在杭州地区价格在2000-4000的公寓. #-*- coding:utf-8 -*- from bs4 import BeautifulSoup from urllib.parse import urljoin import requests
-
在python tkinter中Canvas实现进度条显示的方法
如下所示: from tkinter import * import time #更新进度条函数 def change_schedule(now_schedule,all_schedule): canvas.coords(fill_rec, (5, 5, 6 + (now_schedule/all_schedule)*100, 25)) root.update() x.set(str(round(now_schedule/all_schedule*100,2)) + '%') if round(
-
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
在使用Matplotlib画图过程中,有些内容必须鼠标点击或者划过才可以显示,这个问题可以依赖于annotate(s='str' ,xy=(x,y) ,xytext=(l1,l2) ,..)这个函数,其中s 为注释文本内容 , xy 为被注释的坐标点, xytext 为注释文字的坐标位置,其他参数可自行百度哈.当鼠标滑过时候,将其设置为可见,默认情况下为隐藏.下面是一个小例子: # -*- coding: UTF-8 -*- import matplotlib.pyplot as plt fig
-
python TK库简单应用(实时显示子进程输出)
本文介绍python TK库简单应用(实时显示子进程输出),分享给大家,具体如下: #!/usr/bin/python3.5 # -*- coding: UTF-8 -*- import tkinter # 导入 Tkinter 库 import tkinter.messagebox # 导入消息框库 import os #导入OS库 import subprocess def show_something(): tkinter.messagebox.showinfo( "Python"
随机推荐
- MongoDB的创建、更新和删除
- jQuery EasyUI右键菜单实现关闭标签/选项卡
- 取得窗口大小 兼容所有浏览器的js代码
- js编写简单的聊天室功能
- PHP可变函数学习小结
- Yii2创建控制器(createController)方法详解
- 在wamp集成环境下升级php版本(实现方法)
- php实现的mysqldb读写分离操作类示例
- MySql 5.5.29绿色安装教程详解
- 基于JS实现移动端访问PC端页面时跳转到对应的移动端网页
- WIN2003中使用IIS配置手机下载类WAP网站的MIME类型介绍
- Java 垃圾回收机制详解及实例代码
- java 页面url传值中文乱码的解决方法
- PHP中递归的实现实例详解
- Log4j 配置日志打印时区的实现方法
- .NET Core 3.0之创建基于Consul的Configuration扩展组件
- 总结易语言MD5加密16位和32位方法
- Java使用正则表达式验证用户名和密码的方法
- python opencv之分水岭算法示例
- Python3爬虫学习入门教程