我想从pointcloud中选择两个点并返回两点的坐标.为了解决这个问题,我使用了PointPickingEventPCL,编写了一个包含pointcloud,visualizer和vector的类来存储选定的点.我的代码:
#include <pcl/point_cloud.h>
#include <pcl/PCLPointCloud2.h>
#include <pcl/io/io.h>
#include <pcl/io/pcd_io.h>
#include <pcl/common/io.h>
#include <pcl/io/ply_io.h>
#include <pcl/io/vtk_lib_io.h>
#include <pcl/visualization/pcl_visualizer.h>
using namespace pcl;
using namespace std;
class pickPoints {
public:
pickPoints::pickPoints () {
viewer.reset (new pcl::visualization::PCLVisualizer ("Viewer", true));
viewer->registerPointPickingCallback (&pickPoints::pickCallback, *this);
}
~pickPoints () {}
void setInputCloud (PointCloud<PointXYZ>::Ptr cloud)
{
cloudTemp = cloud;
}
vector<float> getpoints() {
return p;
}
void simpleViewer ()
{
// Visualizer
viewer->addPointCloud<pcl::PointXYZ>(cloudTemp, "Cloud");
viewer->resetCameraViewpoint ("Cloud");
viewer->spin();
}
protected:
void pickCallback (const pcl::visualization::PointPickingEvent& event, void*)
{
if …Run Code Online (Sandbox Code Playgroud) 我想在每个方面添加两个回归线方程和R2.我采用Jayden的函数来解决问题,但我发现每个方程都是一样的.可能的原因是向函数发送了错误的数据子集.任何建议将被认真考虑!
我的代码:
p <- ggplot(data=df,aes(x=x))+
geom_point(aes(y = y1),size=2.0)+
geom_smooth(aes(y = y1),method=lm,se=FALSE,size=0.5,
fullrange = TRUE)+ # Add regression line;
annotate("text",x = 150,y =320, label = lm_eqn(lm(y1~x,df)), # maybe wrong
size = 2.0, parse = TRUE)+ # Add regression line equation;
geom_point(aes(y = y2),size=2.0)+
geom_smooth(aes(y = y2),method=lm,se=FALSE,size=0.5,
fullrange = TRUE)+ # Add regression line;
annotate("text",x = 225,y =50, label = lm_eqn(lm(y2~x,df)),
size = 2.0, parse = TRUE)+ # Add regression line equation;
facet_wrap(~trt)
Run Code Online (Sandbox Code Playgroud)
我的数据帧:
x y1 y2 trt
22.48349 34.2 …Run Code Online (Sandbox Code Playgroud) 我想根据SpatialPolygons对象裁剪光栅。我知道我们可以使用包crop中的函数raster,
raster::crop(rasterFile, SpatialPolygonsObject)
Run Code Online (Sandbox Code Playgroud)
但这个函数是基于extentofSpatialPolygons对象的,所以裁剪后的结果是矩形。然而,在某些情况下,SpatialPolygons对象不是矩形,如何处理这些情况?
我使用 alist来存储库的名称,我想使用foreach并find_library找到每个库的完整路径。但find_library只是返回了第一个库的路径。我检查了这个帖子,但问题仍然存在。我的 CMake 版本是 3.4.3。
SET(VTKLIBS_DIR)
FOREACH(LIB ${VTKLIBS})
SET(FOUND_LIB)
FIND_LIBRARY(FOUND_LIB ${LIB})
LIST(APPEND VTKLIBS_DIR ${FOUND_LIB})
MESSAGE("Lib: ${LIB}")
MESSAGE("Found Lib: ${FOUND_LIB}")
UNSET(FOUND_LIB)
ENDFOREACH(LIB)
Run Code Online (Sandbox Code Playgroud) 我想删除较小的组dplyr.例如,数据帧:
ID group value
1 1 6
2 1 2
3 2 0
4 2 5
5 2 3
6 3 7
7 3 1
8 4 3
9 4 7
10 4 5
Run Code Online (Sandbox Code Playgroud)
组1,组2,组3和组4的组大小分别为2,3,2和3,我想删除组1和组3,因为它们的大小小于3.提前谢谢!