- 博客(40)
- 资源 (1)
- 问答 (2)
- 收藏
- 关注
原创 16位转8位图片转8位图片
原理:如果图片量比较少可以找到每张图片像素最大值pmax,每张图片像素最小值pmin,将pmax映射到255,将pmin(大于0)映射到1这样不会丢失信号,,但是有些是三维数据,这样单张处理会导致三维信号不连续,处理方法有两种:1. 如果三维数据量不大,且本身16位图片数据的像素值不大,采用三维便利找出最大像素值pmax,最小像素值pmin,然后采用上述公式进行转换像素。2. 如果三维数据量大,16位图片像素最大值比较大,且数据分布较广,直接使pmax=65535,pmin=1;进行计算。另外对
2020-07-18 17:12:22 2336
转载 tif 图片 转 vtkImageData 格式
#include "image.h"#include <string>#include <vtkXMLImageDataWriter.h>int main(int, char *[]){ uint16 *nImage; int width = 0; int height = 0; int depth = 0; int *size = new int[3]; std::string path = "D:/image/0.tif"; Image *Im = new.
2020-05-16 20:33:10 421
原创 kafka(librdkafka) windows c++ 编程
前言:网上看到很多关于kafka在windows下的编译及使用cmd运行例子,也有c++在集群上和windows的kafka编程例子,之前自己编译好了librdkafka,然后也生成了lib和dll文件,例子程序库文件都配好了,但是运行不了。自己摸索了两天终于可以编程成功并且能够发送信息了。之前以为编译好librdkafka就可以运行了,然而并非如此,简单的说明一下他们的关系。如下所示,也就是说我...
2019-08-30 21:30:19 3428 16
原创 vectors this->_Myfirst() = pointer();error
该位置报错肯定是越界访问了,自己去找越界的位置void _Tidy() { // free all storage this->_Orphan_all(); if (this->_Myfirst() != pointer()) { // destroy and deallocate old array _Destroy(this->_Myfirst(), this->_Mylast()); this->_Getal().dealloca..
2022-03-31 15:08:06 418
原创 c++ 找不到msvcp120.dll
你的代码如果是低版本vs到高版本vs的话,记得装一个低版本的vcredist,因为高版本的vcredist有可能不包含低版本的vcredist,如2022只包含了2015-2022的vcredist,不包含2013的vcredist,因此跑之前是2013版本的代码会报错说找不到msvcp120.dll...
2021-12-15 09:58:54 946
原创 linux cmake 指定编译器路径
cmake .. -DCMAKE_C_COMPILER:FILEPATH=/env/gcc-10.2.0/bin/gcc -DCMAKE_CXX_COMPILER:FILEPATH=/env/gcc-10.2.0/bin/g++
2021-03-19 17:08:01 2132
原创 libtorch windows 使用 error汇总
先在python中进行模型转换读取模型 model = GetModel(opt) parameters_name = 'C:/code/testproject/Seg_prediction/checkpoints/007_LinHuiMin_FocalWDice2000_2_epoch_3.ckpt' model_CKPT = torch.load(parameters_name) model.load_state_dict(model_CKPT['state...
2021-02-24 13:05:08 3242 12
原创 #include “torch/script.h“ “std“: 不明确符号解决方法
项目-》属性-》c/c++-》语言-》符合模式 改成否
2021-02-23 19:24:44 4113 3
原创 c++ 调用python 程序一直重复运行问题
python 代码如下def get_enchance(image): print(image.shape) model = GetModel(opt) parameters_name = 'C:/liaomingwei/Seg_prediction/checkpoints/007_LinHuiMin_FocalWDice2000_2_epoch_3.ckpt' model_CKPT = torch.load(parameters_name) model.lo
2021-01-30 20:22:20 2822 9
原创 std::thread 多线程使用注意事项
1. 绝对要尽量避免变量引用的使用,如果要使用,做好安全措施,非常容易出错。2. 函数尽量使用值传递,不要使用指针传递。
2020-11-11 19:58:28 317
原创 遍历指定文件夹下所有文件夹指定后缀的文件,拷贝到新建的文件夹中
#include <io.h> #include <string> #include <vector> #include <iostream> #include <direct.h>#include <fstream>#pragma warning(disable:4996)using namespace std;//获取特定格式的文件名 #include<Windows.h&.
2020-09-06 20:13:20 436
原创 linux ,glog, kafka ITK libsvm ffmpeg cmake tiff 编译与安装流程及问题
各种文件解压命令tar xzvf cmake-3.3.2.tar.gz.tar.bz2tar -xjf images.tar.bz2压缩 tar -cjf images.tar.bz2 ./images/unzip im.zipcmake linux 安装cmake Linux 安装./bootstrap gmake gmake install遇到的问题解决办法#安装cmake这个库我是通过源码安装的,按照cmake的安装说明执行./bootstrap &
2020-09-04 18:34:40 494
原创 获取文件夹下所有tif图片,并将16位图转为8位图
主函数#include "image.h"#include <string>#include<cmath>#include<math.h>int main(int argc, char *argv[]){ Image *Im = new Image();//定义的一个读写图片的类,用的tif库 std::string outputpath; std::string inputpath; std::cout << "input
2020-08-07 22:11:07 1133
原创 AVCodec *pCodec = avcodec_find_encoder(AV_CODEC_ID_H264);返回空的编码器
windows版本:原因:库的版本不匹配,或者版本低找不到编码器
2020-08-01 00:19:46 1698
原创 error LNK1120: 5 个无法解析的外部命令
情况1:自己的写类的方法的话就是自己忘记在cpp文件的方法前面加上类的名字和双冒号情况2:加了h文件,但是没加cpp文件情况3:没有加lib库
2020-07-31 21:35:13 1410
原创 c++基础篇:显示转化
指针的强制转化float f=34.5;int* ip=reinterpret_cast<int* >(&f)f;类型强制转化double d=sqrt(12.3);int a=static_cast<int>(d);主要参数个数不同,参数类型不同,参数顺序不同,函数就可以重载,返回类型不同不可以重载, 一般来说,对于数据,类传入函数用指针和...
2020-07-18 16:56:28 281
原创 TIFF库的tif图片读写
tif图片的读写#include<tiffio.h>//图片读取,16为图片和8位图片一样,将buffer改成8位的即可bool TDatTransform::LoadSliceImage16bit(const char path[], uint16 * buffer, int width, int height){ TIFFSetWarningHandler(0);...
2019-09-16 14:54:38 2909 6
原创 三维图片投影
void Crowdsourcing::Image16BitProject(uint16* image, uint16* ProjectXY, uint16* ProjectXZ, uint16* ProjectYZ, int width, int height, int depth){#pragma omp parallel for for (int i = 0; i < dep...
2019-09-16 14:03:34 606
原创 itk 读取图片和写图片
itk读取图片typedef itk::Image<UCHAR, Dimension> ImageType_8bits;typedef itk::Image<USHORT, Dimension> ImageType_16bits;//第一个图图片类型16位,第二个是位数3维图片或者二维图片typedef itk::ImageFileReader<ImageR...
2019-09-16 13:53:19 834
原创 QDir 获取某个文件夹下所有文件和获取特定后缀的文件
获取文件夹下所有文件QDir dir(src_path);if (!dir.exists()){ std::cout << "the TDat path is not exit" << std::endl; return ;}dir.setFilter(QDir::NoDotAndDotDot | QDir::AllEntries);QStringLis...
2019-09-16 13:43:42 2724
原创 c++基础篇:字符串(c-string,string)
c-string篇字符串长度:字符串后面还存储了一个结束符,所以申请的长度要比实际用到的长度上加1char buffer[7]="hell0!"; //若为 char buffer[6]="hello!";则为错误char *str="hello";输出字符指针就是输出c-串,从h字符地址开始遇到0结束。*str是输出h。比较两个相同的c-串是,会因空间位置不同而不同cha...
2019-09-09 16:13:21 660
原创 c++基础篇:二进制
1.十进制整数转二进制35(10)=100011(2)十进制小数转二进制小数二进制加法35+12=00100011+00001100=00101111=4710进制负数转二进制,先转成二进制,然后取补,取补原则是取反加一-15=-1111=-00001111=11110001;二进制减法,减法通过加法算,加上去补的数,超过位数直接舍去。二进制乘法二进制整...
2019-09-09 14:58:40 471
原创 kafka(librdkafka) 将消费者和生产者写成一个类
生产者头文件#include <iostream>#include <string>#include <list>#include <stdint.h>#include "../src-cpp/rdkafkacpp.h"class producer{public: producer(const std::string brok...
2019-09-06 19:26:20 539
原创 tif 读写8位16位图片
读取8位图片,将unsigned char * buffer改成unsigned short *buffer可以读取16位图片bool TDatTransform::LoadSliceImage(const char path[], unsigned char * buffer, int width, int height){ TIFFSetWarningHandler(0);...
2019-06-12 16:19:50 2594 2
原创 c++按行读取txt文本及其他一些基本方法
bool TDatTransform::ReadLogFile(const char path[],int &sign,int &level,int &z,int &y){ char log[20]; std::ifstream in(path); if (!in.is_open())//判断文件是否为空 { std...
2019-06-11 22:38:40 1169
原创 MPI 多线程例子 一个线程管理任务,其他线程完成任务。
很早就想总结自己最近做的,然后一直拖拖到了现在。先总结先MPI多线程所学到的。先给一个简单的多线程实例,这是对图片多重采样的代码,在图片读取采样的时候采用MPI多线程进行编码。bool DataCreater::creat_temp_data2(QStringList files, QString dst, int level_total, int begin_level, int image...
2019-06-11 22:28:03 1528
原创 关于VTk在调试中遇到的一些问题
问题1:如上图所示,结果是Releases和DEBUG版本的库混在一起了,虽然他们是不同的名字(Debug版本带个d),但是一直不明白。将这两个地方的附加库目录只保留自己所需要的一种(release/debug)。在运行的时候找不到dll,需要将对应所需要的dll文件拷到Exe执行文件的同级目录下面。...
2019-03-22 15:10:09 525
原创 QT vs tools options 指定不了路径
有没有大神遇到过这个问题,搞了一天没搞出了,求大神帮忙,哈哈,终于找到问题了,把之前设置的系统里面qt的环境变量删除就可以了
2019-03-19 15:14:32 5561
原创 ffempeg 学习总结
视频编码void Class_mp4io::write_3D_buffer_to_mp4(const char filename[], unsigned char * buffer){ AVFrame * pFrame = NULL;//RAVFrame结构体一般用于存储原始数据(即非压缩数据,例如对视频来说是YUV,RGB,对音频来说是PCM),此外还包含了一些相关的信息...
2019-03-08 20:07:21 1525
转载 aligned_allocator
如果STL容器中的元素是Eigen库数据结构,例如这里定义一个vector容器,元素是Matrix4d ,如下所示:vector<Eigen::Matrix4d>;这个错误也是和上述一样的提示,编译不会出错,只有在运行的时候出错。解决的方法很简单,定义改成下面的方式:vector<Eigen::Matrix4d,Eigen::aligned_allocator<...
2019-02-25 13:57:56 1583
转载 qt
QStringQString s1 = "abc";QString s2("hello");//字符串连接QString s = s1 + s2;//组包s = QString("a = %1, b = %2, c = %3").arg(250).arg("hello").arg(22.22);qDebug()<<s;//输出结果:a = 250, b = hello,...
2018-04-11 20:07:58 273
转载 Matlab的regionprops详解
格式:BW2 = bwareaopen(BW,P,conn)作用:删除二值图像BW中面积小于P的对象,默认情况下使用8邻域。算法:(1)Determine the connected components. L = bwlabeln(BW, conn);(2)Compute the area of each component. S = regionprops(L, '
2017-07-19 12:56:57 442
原创 标注二进制图像中已连接的部分 bwlabel
举例BW = [1 1 1 0 0 0 0 01 1 1 0 1 1 0 01 1 1 0 1 1 0 01 1 1 0 0 0 1 01 1 1 0 0 0 1 01 1 1 0 0 0 1 01 1 1 0 0 1 1 01 1 1 0 0 0 0 0]L = bwlabel(BW,4) L =1 1 1 0 0 0 0 01 1 1 0
2017-07-19 12:42:20 255
转载 imfill简介
BW2 = imfill(BW)这种格式将一张二值图像显示在屏幕上, 允许用户使用鼠标在图像上点几个点, 这几个点围成的区域即要填充的区域。要以这种交互方式操作, BW必须是一个二维的图像。用户可以通过按Backspace键或者Delete键来取消之前选择的区域;通过shift+鼠标左键单击或者鼠标右键单击或双击可以确定选择区域。[BW2,locations] = imfill(BW)
2017-07-19 12:24:44 1139
转载 matlab中im2bw函数的用法
matlab中DIP工具箱函数im2bw使用阈值(threshold)变换法把灰度图像(grayscale image)转换成二值图像。所谓二值图像, 一般意义上是指只有纯黑(0)、纯白(255)两种颜色的图像。 当然, 也可以是其他任意两种颜色的组合。 在matlab命令行中键入doc im2b或help im2bw即可获得该函数的帮助信息。 阈值变换 比如数组 a = [1
2017-07-19 11:26:36 22928 5
tiff_include_lib.7z
2019-11-28
c++ 调用python代码 深度学习
2021-01-30
qt project settings问题
2020-03-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人