个人学习笔记(备份)

目录

知识链接

1.深度学习

2.机器视觉

3.图像处理

4.编程基础

编程笔记

1、Halcon

2、Matlab

3、DOS指令

4、C#

5、MySQL

6、Python

7、OpenCV+C++

8、R语言

9、Machine Vision

10、Method

11、Ubuntu+Caffe

12、Anaconda+tf


知识链接

1.深度学习

面试总结:【计算机视觉算法岗面经】“吐血”整理:2019秋招资料_I am what i am-CSDN博客_图像处理 面经

2.机器视觉

3.图像处理

4.编程基础

排序方法C++实现:数据结构排序算法(一):排序方法分类和各种排序方法的实现_青红造了个大白之成长记-CSDN博客_排序算法种类


编程笔记

1、Halcon

1)链接

教程链接:https://blog.csdn.net/maweifei/article/details/78162581?locationNum=10&fps=1

相机标定:双目相机标定以及立体测距原理及OpenCV实现_牧野的博客-CSDN博客_opencv双目相机标定

2)代码

(1)基础算子

read_image

(Image, 'E:/图片/2222.bmp')//读图

get_image_size

(Image, Width, Height)//获取宽高

dev_open_window

(0, 0, Width/4, Height/4, 'black', WindowHandle)开窗

dev_display

(Image)显示图片

threshold

(Image, Regions, 121, 176)

closing_circle

(Regions, RegionClosing, 17)闭运算

connection

(RegionClosing, ConnectedRegions)连接区域

select_shape

(ConnectedRegions, SelectedRegions, 'area', 'and', 5013.55, 14065)

decompose3(Image,Red,Green,Blue)通道转换

dev_update_off

()

dev_close_window

()关闭窗口

dev_open_window_fit_image

(Image, 0, 0, 522, 522, WindowID)

rgb1_to_gray

(Image, GrayImage)转灰度

draw_rectangle1

(WindowID, Row1, Column1, Row2, Column2)矩形框

gen_rectangle1

(Rectangle, Row1, Column1, Row2, Column2)//绘制矩形

reduce_domain

(GrayImage, Rectangle, ImageReduced)

edges_sub_pix

(ImageReduced, Edges, 'lanser2', 0.5, 20, 40)

trans_from_rgb(Red,Green,Blue,ImageResult1,ImageResult2,ImageResult3,'hsv')

read_ocr_class_mlp('Industrial_0-9A-Z_Rej.omc',OCRHandle)

do_ocr_multi_class_mlp(SortedRegions,ImageResult2,OCRHandle,Class,Confidence)

open_file

('E:/halcon图像/新建文本文档.txt', 'output', FileHandle)

fwrite_string

(FileHandle, 'hello')

fnew_line

(FileHandle)

close_file

(FileHandle)

area_center(SortedRegions,Area,Row,Column)

for

i:= 0 to 5 by 1

disp_message(3600,

Class[i], 'window', i, i, 'black', 'true')

3)Halcon快捷键

F2:

重置执行

F5:

执行

F6:

单步运行

F7:

进入定义

2、Matlab

1)链接

函数大全:matlab函数大全_proton_boke的博客-CSDN博客_matlab函数大全

2)代码

rectangle('position',ocrResults.WordBoundingBoxes(i,:));

end

[H,T,R]

= hough(BW);

rectangle('position',ocrResults.WordBoundingBoxes(a1,:));

date=load('海豚.txt');

x=date(:,1);

y=date(:,2);

z=date(:,3);

scatter3(x,y,z);

1.full: 滑动步长为1,图片大小为N1xN1,卷积核大小为N2xN2,卷积后图像大小:N1+N2-1 x N1+N2-1

2.same: 滑动步长为1,图片大小为N1xN1,卷积核大小为N2xN2,卷积后图像大小:N1xN1

3.valid:滑动步长为S,图片大小为N1xN1,卷积核大小为N2xN2,卷积后图像大小:(N1-N2)/S+1 x (N1-N2)/S+1

p = [0 0 0 0 0;

0 1 1 1

0;

0 1 1 1

0;

0 1 1 1

0;

0 0 0 0

0];

q=[0 -(1/2) 0;

-(1/2) 1

-(1/2);

0 -(1/2)

0];

conv2(p,q,'same')

3、DOS指令

1)链接

Win+Linux: DOS命令大全--详解_liuyinghui523的专栏-CSDN博客

Win : Windows下DOS命令大全(经典收藏)_一个执着的程序员-CSDN博客_windows下dos命令

2)代码

(1)control

panel

(2)产品信息:slmgr.vbs -dlv

ipconfig

regedit (注册表)

(3)鼠标右键事项加速(除user都可删)

[HKEY_CLASSES_ROOT\Directory\Background\shellex]

计算机\HKEY_CLASSES_ROOT\Directory(查询)

(4)窗口黑科技

[HKEY_CLASSES_USER\Software\Microsoft\Windows\DWM]

建里DWORD文件命名为AnimationsShiftKey值改为1

start

Ecoh off

lots of boxes

start box

(5)文件隐藏(.bat):copy/b xiao.bat+xiao.jpg=nv.jpg

(6)查看激活状态: slmgr.vbs -xpr

(7)win10关闭自动更新

1)Windows+R,输入“regedit”回车,打开注册表编辑器,定位到 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows在「Windows」节点下新建一个名为「WindowsUpdate」的项在「WindowsUpdate」项下新建一个名为「AU」的项

在「HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU」下新建一个名为「AUOptions」的 32 位 DWORD 值,双击该值,将数值设置为2.

注意:此方案涉及注册表的修改,建议您在操作前将注册表备份。

2)如果是专业版系统,请您同时按下微软徽标键和R键,输入“gpedit.msc”回车,打开:计算机配置-管理模板-Windows组件-Windosw 更新,在右侧将“配置自动更新”和“允许自动更新立即安装”的状态改为“已禁用”

4、C#

1)链接

委托: C++实现委托机制(一)_YzlCoder的记事本-CSDN博客_c++ 委托

C#中的委托和事件_见证大牛成长之路的专栏-CSDN博客

C# 中的委托和事件 - Jimmy Zhang - 博客园

多线程:C # 多线程总结_Ravenq的专栏-CSDN博客

登陆窗口关闭:c# 如何实现子窗口关闭父窗口也关闭 _贝吉塔的专栏-CSDN博客

2)代码

//释放

this.Close();

this.Dispose(); //释放内存,比第一个好。

Application.Exit();

/退出

if

(HDevWindowStack.IsOpen())

{

HOperatorSet.CloseWindow(HDevWindowStack.Pop());

}

//多线程:

//线程的优先级可以通过Thread类Priority属性设置,Priority属性是一个ThreadPriority型枚举,列举了5个优先等级:AboveNormal、BelowNormal、Highest、Lowest、Normal。普通线程的优先级默认为Normal;如果想有更高的优先级,可设置为AboveNormal或Highest;如果想有较低的优先级,可设置为BelowNormal或Lowest。

class

Program

{

public

static void game()

{

Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd

hh:mm:ss.fff") + " 线程一");

}

public static void music()

{

Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd

hh:mm:ss.fff") + " 线程二");

}

static

void Main(string[] args){

Thread

t1 = new Thread(new ThreadStart(game));//开始一个玩游戏的线程

Thread

t2 = new Thread(new ThreadStart(music));//开始一个听音乐的线程

t1.Priority

= ThreadPriority.BelowNormal;

t2.Priority

= ThreadPriority.Lowest;

t1.Start();

t2.Start();

Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd

hh:mm:ss.fff") + " 总事件");

Console.ReadKey(); }

}

Control.CheckForIllegalCrossThreadCalls

= false;解除跨线程检查

static

Semaphore GetProfileSemaphore = new Semaphore(0,1);

static

Semaphore DisplayProfileSemaphore = new Semaphore(1,1);

//信号量

private

void GetProfile()

{

while (true)

{

DisplayProfileSemaphore.WaitOne();

GatherProfile();

//Console.WriteLine("TaskGetProfile");

GetProfileSemaphore.Release();

//Thread.Sleep(100);

//Application.DoEvents();

}

}

private

void GetDisplayProfile()

{

while

(true)

{

GetProfileSemaphore.WaitOne();

DisplayProfile();

//Console.WriteLine("TaskDisplayProfile");

DisplayProfileSemaphore.Release();

//Thread.Sleep(100);

//Application.DoEvents();

}

}

(1)委托:包装函数,让函数作为参数使用(指针)

1.定义委托对象 public delegate void MyDelegate();

2.定义被委托对象

3.创建委托变量,进行方法的绑定

4.运用委托事件的关键是三要素的关系:委托,事件,方法。

定义委托,定义委托事件,定义响应方法。

3)Visual

Studio快捷键

F5: 执行

F9:

断点

F10:逐过程

F11:

逐句

F12:

进入定义

Ctrl+‘-’返回

5、MySQL

1)链接

help 文档 -> 百度->CSDN

-> pudn

各种数据库:C#连接Access数据库,C#连接Excel数据库,C#连接SqlServer数据库,C#连接Mysql数据库总结_intbird的专栏-CSDN博客

MySQL+C#: 风哥有点田_shawncheer_CSDN博客

C#操作: C#(WINFORM)数据库操作 - 百度文库

数据库恢复:MySQL 从 .ibd 文件恢复数据_airujingye的专栏-CSDN博客_ibd文件恢复

远程连接: Mysql数据库远程连接的两种方式_熊骑士-CSDN博客_连接远程数据库

https://blog.csdn.net/u014546553/article/details/53281705

2)代码

//Command对象通过ExecuteNonQuery方法更新数据库的过程非常简单,需要进行的步骤如下:

【1】创建数据库连接。

【2】创建Command对象,并指定一个SQL Insert、Update、Delete查询或存储过程。

【3】把Command对象依附到数据库连接上。

【4】调用ExecuteNonQuery方法。

【5】关闭连接。

//连接数据库

public

static string ConnStr = @"server=localhost; user id=root;

password=root20162016; database=eggs; charset=utf8";

//打开

public static MySqlConnection Open_Conn(string ConnStr)

{

try

{

MySqlConnection Conn = new MySqlConnection(ConnStr);

Conn.Open();

return Conn;

}

catch (Exception Ex)

{

throw Ex;

}

}

//执行

public static MySqlCommand Run_SQL(string SQL, string ConnStr)

{

try

{

MySqlConnection Conn =

Open_Conn(ConnStr);

MySqlCommand Cmd = new MySqlCommand(SQL, Conn);

return

Cmd;

}

catch (Exception Ex)

{

throw

Ex;

}

}

//关闭

public static void Close_Conn(MySqlConnection Conn)

{

if (Conn != null)

{

Conn.Close();

Conn.Dispose();

}

GC.Collect();

}

//<returns>返回MySqlConnection对象</returns>

private MySqlConnection

GetMysqlConnection()

{

string M_str_sqlcon = string.Format("server={0};user

id=

{1};password={2};database={3};port={4};Charset={5}", server,

userid, password, database, port,

charset);

MySqlConnection myCon = new

MySqlConnection(M_str_sqlcon);

return myCon;

}

//联合查询

(SELECT 表1.字段, 表2.字段,

FROM (SELECT 表.字段1, 表.字段2 FROM 表 WHERE 条件 ) 表1 )

UNION ALL

(SELECT 表.字段1, 表.字段2 FROM 表 WHERE 条件 ) 表2

WHERE 相关条件

ORDER BY 排序条件

6、Python

1)链接

总纲: Python基础教程系列目录,最全的Python入门教程_cppdaxue_com的博客-CSDN博客

2)代码

(1)初级思想

import

os

import

time

Number

= int(input('输入整型: '))

tuple1=

('A','B','C')

member

= list(tuple1)

member.append('D')

member.extend(['E','F'])

member.remove('F')

score

= 100

def

odd(x):

return x % 2

def

Function(score1):

x = score1

def Function2():#内部函数

nonlocal x

temp = range(x)

show = list(filter(lambda x : x%2 , temp))

for i in show:

if 100>= i

>=80:

print(i,member[0])

elif 80>= i

>=60:

print(i,member[1])

else:

print(i,member[2])

Function2()

def

hanoi(n,x,y,z):

if n == 1:

print(x,'->',z)

else:

hanoi(n-1,x,z,y)#将前n-1个从x移到y上

print(x,'->',z)#将最后一个从x移到z上

hanoi(n-1,y,x,z)#将y上n-1个移到x上

if

Number == 1:

Function(score)

elif

7>=Number>1:

hanoi(Number,'X','Y','Z')

else:

f = open('D:\\A_Project\\Python Project\\read.txt')

for each_line in f:

print(each_line) #str1 =

f.read(-1)

print(os.path.basename ('D:\\A_Project\\Python

Project\\read.txt'))

print(time.localtime(os.path.getatime('D:\\A_Project\\Python

Project\\read.txt')))

f.close( )

(2)模块(封装)在安装py的根目录下创建

例:Temparature。py{

def c2f(cel):

fah = cel * 1.8 + 32

return fah

def f2c(fah):

cel = (fah - 32)/1.8

return cel

}

import

Temparature as t

print("32摄氏度 = %.2f华氏度" %t.c2f(32))

(3)网络爬虫

import

urllib.request

response

= urllib.request.urlopen("鱼C工作室-免费编程视频教学|Python教学|Web开发教学|全栈开发教学|C语言教学|汇编教学|Win32开发|加密与解密|Linux教学")#获取对象

html

= response.read()#读取对象

html

= html.decode("utf-8")#解码

print(html)

(1)函数

可以嵌套函数

lambda 函数: g = lambda x,y : x+y g(x)

(2)

BIF 过滤器 filter filter(,)

映射 map()

(3)

递归: 分治思想 (占内存 合理运用) py默认递归深度100层 import

sys (可改深度)

汉诺塔思想 分解思路 100层 第一步 将1-99移到 b 第二步 将100移到c 递归

(4)

列表 : list() 创建 [ ]

元组 : tuple() 创建 (,)

字典 : dict() 创建 { }

(5)

异常捕获: try - finally

try:

检测范围

except Exceptiopn[as reason ]

出现异常(Exception 后的处理代码) (异常后的代码不会被继续执行)

finally:

必须执行的代码

(6)

else:

while :

if : 结果一

break

else: 结果二

(7)

生成器: yield(h和return相似 但是只返回不结束,只暂停)

(8)迭代(生成器)

列表推导式: a = [i for i in range(100) if not(i%2) and i%3]

字典推导式: b = {i:i%2 == 0 for i in range(10)}

集合推导式: c = {i for i in [1,1,1,2,5,6]}

(9)

容器 -> 数据的封装

函数 -> 语句的封装

类 -> 方法和属性的封装

(10)添加索引目录

sys.path.append("D:\\A_Project\\Python

Project\\module")

(11)爬虫

help文档 搜索url查找帮助 方法参数介绍

编码原理: 鱼C

网址查看元素 找到对应的上传数据和响应数据 应用列表或者字典对应

py中进行编解码操作

(12)反爬虫

修改header

1 通过request 的headers参数修改

head = {}

head['User-Agent']

= 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101

Firefox/61.0'

2 通过request.add_header()方法修改

req =

urllib.request.Request(url,data)#生成对象

req.add_header('User-Agent','Mozilla/5.0

(Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0')

运用代理

1 参数是一个字典

2 定制、创建一个opener

3 安装、调用opener

消除特殊字符的功能 前边加 ‘\’

(13)正则表达式

import re

re.search(r'[01]\d\d|2[0-4]\d|25[0-5]','188')

匹配IP:

re.search(r'([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5]\.){3}([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5])','192.168.1.1')

re.search(r"<.+?>" , ' ')

7、OpenCV+C++

1)链接

启蒙: OpenCV学习笔记--第一个OpenCV程序:图片读写显示_HW的博客-CSDN博客_opencv写一个读取图片程序

2)代码

8、R语言

1)链接

综合:R语言-入门综合_智慧与美貌并存-CSDN博客

2)代码

9、Machine Vision

1) 链接

CVPR:dblp: Computer Vision and Pattern Recognition

ICCV:dblp: ICCV

ECCV:dblp: ECCV

Matchine

Vision: 计算机视觉三大顶级会议ICCV,CVPR,ECCV网址_阿桑的专栏-CSDN博客_计算机视觉三大顶会网址

Anaconda+Tensorflow环境配置:

Anaconda+Tensorflow环境安装与配置 - Will的笔记 - 博客园

tensorflow学习笔记一:安装调试 - denny402 - 博客园

2) Note

win下caffe配置: https://jingyan.baidu.com/article/8ebacdf00b251749f65cd539.html

cuda与cudnn: CPU、GPU、CUDA,CuDNN 简介_Row Row Row your boat-CSDN博客_cudnn

10、Method

1)链接

汉化教程链接:https://jingyan.baidu.com/article/046a7b3e8d230bf9c27fa928.html

资源链接: 百度网盘-链接不存在

2)Notes

作业提交 :https://219.243.50.211:8443/svn/2018-learn

裁片项目:https://219.243.50.211:8443/svn/LineScan1.0

EggsPro : https://219.243.50.211:8443/svn/Egg3.0/

环境配置:

(1)包含文件 告诉VC去哪找头文件(include)库的位置 D:\opencv\include

(2)库文件 即寻找库链接器的位置 D:\opencv\build\x64\lib

(3)设置环境变量D:\opencv\build\x64\bin

(4)配置链接器 输入即为项目Debug配置增加库文件 .lib

项目开发:

UI层+业务逻辑层+数据层

循环采集、定时器、多线程、回调函数

工具:

Live Start Page

截图 win +shift +s

查找: win + s

有关录屏快捷如下

打开游戏栏:Win+G

进行屏幕截图:Win+Alt+PrtScrn

录制: Win+Alt+G

开始/停止录制: Win+Alt+R

麦克风打开/关闭:Win+Alt+M

开始/暂停广播:Win+Alt+B

在广播中显示摄像头:Win+Alt+W

11、Ubuntu+Caffe

1)链接

Caffe官网:

http://caffe.berkeleyvision.org/

Stanford:

Stanford University CS231n: Convolutional Neural Networks for Visual Recognition

Le-Net_Mnist: ubuntu下caffe手写数字识别问题、python接口测试_hjxu2016的博客-CSDN博客

安装: Ubuntu18.04LTS下基于 Anaconda3 安装 Caffe-GPU及 Python3.6 + Pycharm + Mnist例子教程(超详细)_阿耀的博客-CSDN博客

2)Notes

1.test:

./build/examples/cpp_classification/classification.bin

./models/bvlc_reference_caffenet/deploy.prototxt

./models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel

./data/ilsvrc12/imagenet_mean.binaryproto ./data/ilsvrc12/synset_words.txt

./examples/images/cat.jpg

3)终端

cd caffe

ls #列表

sh **.sh

#可执行文件

gedit 添加环境变量

pkg-config--modversion **** 查看版本

sudo netease-cloud-music

Ctrl+Alt+T 打开终端 Ctrl+D 关闭终端

12、Anaconda+tf

Tensorflow官方文档 github.com/tensorflow/models

1)链接

2)Notes

虚拟环境搭建:

创建虚拟环境:conda create -n your_env_name python=xx

激活虚拟环境:source activate your_env_name

安装所需CUDA conda install cudatoolkit=9.0

安装所需CUDNN conda install cudnn=7.1.4

安装tensorflow: pip install tensorflow-gpu==1.9.0

关闭虚拟环境:source deactivate your_env_name

虚拟环境可删除conda remove -n your_env_name(虚拟环境名称) --all

显卡调用:nvidia-smi

命令查看被已被占用的GPU 号 设置未被占用的GPU进行训练

tensorflow默认占用所有显卡的显存,请按需设置使用的gpu数量,设置方法:可以在python文件中设置,也可以在执行程序的命令中设置。详见:

tensorflow中指定GPU及GPU显存设置_妙猪的专栏-CSDN博客_os指定显卡

https://blog.csdn.net/sunwuhuang1/article/details/53946462

查看已安装包: conda list

查看虚拟环境列表 conda info --envs

Pip

升级: python -m pip install --upgrade pip

刷新服务器ifconfig -a dhclient enp129s0f0

调用显卡:

Python调用

import os

os.environ["CUDA_VISIBLE_DEVICES"]= "5"#指定节点上面跑程序的区域.

终端调用: CUDA_VISIBLE_DEVICES="0,1"

开线程:

Yum install screen安装screen

Screen -ls 显示当前线程

Screen -S yourname 新建线程

Screen -r yourname 回到线程

Ctrl +A +D暂时离开当前线程

Screen -d yourname 结束session

Screen -S screenID -X quit关闭线程

查看线程:ps aux|grep user_name|grep python

关闭线程:kill -s 9 线程编码

个人笔记(NXP)


1.信息记录


id: 73563  13969911

server:10.207.203.118  nvmtest test123


SmarTest:

93koffline15.am.freescale.net

account:nxa22583

pasward:nxf71252

vncserver :95 -geometry 1920x1080 -depth 24

cd /eng/proj/93K_dev1/micr/kinetis/nvm/nxa22583/
cd k4w1_debug_update/trunk/testprogram/

./SC_startSmarTest

******

ageng    psw:ageng123

QN9080  Loc:./home/ageng/lubin/QN9080_F8s_V11P04/TP_QN9080/TP_QN9080

ls:  ./online_smartest.sh

log: Operation Control--Production set--report Formate--REV 3.61 Line Formate

datalog: ui_report ORG Pord --datalog


2.学习笔记


nvm:

2T Flash :

PS1600:


个人笔记(HIK)


VM开发资料体系:https://drive.hikvision.com/hcs/controller/hik-manage/fileDownload?link=lNgmEJx1 
VM FAQ下载链接:https://drive.ticklink.com/hcs/controller/hik-manage/fileDownload?link=ZcKDXpwK
VM 定位应用场景案例:https://drive.hikvision.com/hcs/controller/hik-manage/fileDownload?link=eaxr1xBc

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Go语言学习笔记电子版是一本非常实用的学习工具,可以记录我在学习Go语言过程中的各种知识点、代码示例和个人心得体会。 首先,这本笔记的电子版具有便捷的查询和编辑功能。在学习过程中,我们经常会遇到需要查询某个知识点的情况,这时候电子版的笔记就能够派上用场。另外,电子版的笔记还可以随时进行编辑和修改,这样我就能够及时更新我的学习进展和思考。 其次,电子版的笔记还可以方便地进行备份和分享。如果我想要保存我的学习笔记,以备将来查阅或分享给其他人,电子版的笔记可以非常方便地进行备份,只需要简单的一键操作就能够完成。而且,电子版的笔记也可以随时分享给其他人,无论是通过社交媒体、邮件还是云存储平台,都能够轻松地进行分享。 另外,电子版的笔记还具有便携性和可搜索性。相比于传统的纸质笔记本,电子版的笔记可以轻松地存储在手机、平板电脑或电脑中,随时随地进行学习。而且,电子版的笔记还可以进行关键词搜索,这样无论我想要查找某个代码示例还是某个概念解释,都能够快速找到相关内容。 总之,Go语言学习笔记的电子版是一种功能强大、使用方便的学习工具。它不仅能够帮助我记录和整理学习过程中的重点内容,还能够方便地进行备份、分享和查阅,提高我的学习效率和便利性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值