0%

读写像素

读一个GRAY像素点的像素值(CV_8UC1)

1//方式一
2Scalar intensity = img.at<uchar>(y, x); 
3//方式二
4Scalar intensity = img.at<uchar>(Point(x, y));

读一个BGR像素点的像素值

 1//读取整形
 2Vec3b intensity = src.at<Vec3b>(x, y);
 3int b = intensity [0];
 4int g = intensity [1];
 5int r = intensity [2];
 6//读取浮点型
 7Vec3f intensity = img.at<Vec3f>(y, x); 
 8float blue = intensity.val[0]; 
 9float green = intensity.val[1]; 
10float red = intensity.val[2];

Vec3b与Vec3F

  • Vec3b对应三通道的顺序是blue、green、red的uchar类型数据。
  • Vec3f对应三通道的float类型数据
  • 把CV_8UC1转换到CV32F1实现如下:src.convertTo(dst, CV_32F);

OpenCV是计算机视觉开源库,主要算法涉及图像处理和机器学习相关方法。是Intel公司贡献出来的,俄罗斯工程师贡献大部分C/C++代码。官网:https://opencv.org/ 从这里 https://opencv.org/releases.html 你可以下载到自己想要的版本!

用户在注册的时候,会有个表单页面,然后有些选项是必填的,有些要填的内容是有规范的,这些都要在用户提交之前进行验证才行,如果不符合要求,需要在右边显示一个友好的提示,让用户修改。此时Validate做表单校验的特效药就发挥作用了!如果我们自己来写js代码的话,那么可就显得有些冲复造轮子了,所以现在Validate这个库可以很好的帮我们省略自己去写js校验代码,Validate这个库属于jQuery的插件库!

Validate下载

Validate的官网里面有示例代码,看这个就可以**: https://jqueryvalidation.org ** 官网的介绍是:这个jQuery插件简化了客户端表单验证,同时还提供了大量的自定义选项。如果您正在从头开始构建校验代码,而且当您尝试将某些内容集成到具有大量现有代码的现有应用程序中时,它将是一个不错的选择。该插件捆绑了一组有用的验证方法,包括URL和电子邮件验证,同时提供API来编写自己的方法。所有捆绑方法都带有英语的默认错误消息,并翻译成其他37种语言。由此可见它的强大之处了!

题目一

题目一:假设有如下的复杂链表,每个节点都有next指针和random指针,random指针是随机指向,请完成这条复杂链表的复制!

定义复杂链表节点

1typedef struct ComplexNode
2{
3	DataType _data;
4	struct ComplexNode* _next;
5	struct ComplexNode* _random;
6} ComplexNode;

需要的功能

1//产生新节点
2ComplexNode* BuyComplexNode(DataType x);
3
4//打印此复杂链表
5void PrintComplexList(ComplexNode* plist);
6
7//复制复杂链表
8ComplexNode* CopyList(ComplexNode* list);

一、条件概率公式

举个例子,比如让你背对着一个人,让你猜猜背后这个人是女孩的概率是多少?直接猜测,肯定是只有50%的概率,假如现在告诉你背后这个人是个长头发,那么女的概率就变为90%。所以条件概率的意义就是,当给定条件发生变化后,会导致事件发生的可能性发生变化。

条件概率由文氏图出发,比较容易理解:

mark

前言

可变参数,顾名思义即参数类型不确定,参数个数不确定(只是表面上个数不确定,实际上还是需要直接或者间接的将参数个数传入)。可变参数的应用场景非常多,例如:求n个数字之和,如果写成普通函数,那么将永远也实现不了这个函数的功能,如果写成可变参数的话就会变得非常简单,不至于出现代码冗余。我们最常用的printf()就是一个实现了可变参数的函数,这种函数基本上不可能写成常规函数,可变参数便成最佳选择!printf函数是个经典的可变参数的例子!

网络数据传输的是一个二进制的字节数组。把对象序列化为二进制字节数组和把二进制字节数组反序列化为对象的时间加起来,时间越少,性能越高。使用JSON 和XML的居多!