自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 Day2:977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

关键点就是找到正负数的分界点,正数的平方会成递增,而负数的平方会成递减,可以根据分界点看成两个子序列,再设置两个指针,一个遍历负数序列,一个遍历正数序列,分别比较大小,小的那个就赋值到新的数组中,最后需要判断两个子序列遍历结束没有,如果还有一边是剩下的,就直接加入新数组的末尾。其中遇到一个问题,之前一直不想开辟新的数组来占用内存空间,就在改变值的时候直接在原数组上进行了改变,后面发现结果有错,并且找错的时候找了很久,在这种双向查找的数组里,很容易就将未遍历位置上的元素进行了修改,最终就会影响整个结果。

2023-05-11 16:51:52 399 1

原创 704.二分查找 27. 移除元素(day1)

搜索范围需要用图来画,mid的下标表示也写错了,mid=(l+r)//2,也可以写成mid=(r-l)/2 +l,容易被绕晕!一定深刻理解,搜索范围是一个[索引号,索引号],是两个索引号!倒着删除:这样比较巧妙的地方就是,数组的长度在变化,但是倒着遍历不会让索引号出界,正序遍历的话,由于随着数组长度变小,那遍历到后面i这个索引号就可能出界,自然遍历不到后面的元素。倒着删除相等元素,python中的列表是可变的;使用栈将不相等的元素进行保存,再修改原始的nums数组(python中的列表是可变的)

2023-05-10 17:22:31 850

原创 关于cv加入高斯、瑞利、运动模糊噪声

2023-02-17 16:06:44 468

原创 使用dataset类来制作自己的数据集(基于Fixmatch的数据集要求)

fixmatch

2022-06-14 17:51:59 1218 2

原创 pytorch基础总结(一)

深度学习框架

2022-06-10 17:43:02 215

原创 实现对降噪模型的输入单张图片测试

import randomimport clipfrom utils import NoiseImageDataSet, initialize_network, eval_request, NoiseDataSetWithClipimport torchfrom torch.utils.data import DataLoaderfrom torch.optim import Adamimport osfrom tqdm import tqdmfrom torch.utils.tensor.

2022-05-24 16:37:29 270 2

原创 关于pytorch直接加载resnet50模型及模型参数

1.由于与resnet50的分类数不一样,所以在调用时,要使用num_classes=分类数model = torchvision.models.resnet50(pretrained=True,num_classes=5000) #pretrained=True 既要加载网络模型结构,又要加载模型参数如果需要加载模型本身的参数,需要使用pretrained=True2.由于最后一层的分类数不一样,所以最后一层的参数数目也就不一样,所以在加载模型参数时要去掉最后一层def _resn

2022-05-24 16:18:48 8087

原创 fastapi 实现转让接口并限制用户每日访问次数

#!/usr/bin/env python# -*- coding:utf-8 -*-"""@Time: 2022/5/16 16:19@Author: SPZ@File: app@Project: OcrOnlineService@Software: PyCharm"""import jsonimport osfrom io import BytesIOfrom fastapi import FastAPI, UploadFile, File, Formfrom fastapi.

2022-05-17 17:47:07 1078

原创 关于Ubuntu selenium +chrome+chromedriver的配置

遇坑过程:1.selenium.common.exceptions.WebDriverException: Message: unknown error: DevToolsActivePort file doesn't exist2.之后想着chrome不行,那我就换一个浏览器,换成edge。结果还是那么凑巧,默认下载的就是最新版本的edge。报错变成SessionNotCreatedException session not created: No matching c...

2022-04-24 14:41:40 1076

原创 定时爬虫部署到ubuntu服务器

1.首先对chrome进行安装,安装方式使用指令一般会遇上下载不了的情况,所以直接在windows端下载好安装包,进而拉取到ubuntu服务器端。这里先留点儿,后面再补充2.关于因为要使用到selenium,要用到chromedriver驱动浏览器,所以要去下载对应的版本,但是有一点非常重要,那就是放置的位置,需要放在/usr/local/bin/chromedriver否则会出现找不到文件的情况(放在这个地方貌似也直接解决了环境配置的问题)参考链接:3.程序运行的时候找得到chro

2022-04-21 17:43:52 1119

原创 practice_cv2(批量加入Mask,视频帧中加入logo)

import cv2import ffmpegimport cv2import numpyimport numpy as npimport globvideo_f = 'D:/CCTV/CCTV.mp4' # 视频文件名output_f = 'D:/CCTV/logoafter.mp4' # 输出视频文件名video = cv2.VideoCapture(video_f)# 获取视频宽度frame_width = int(video.get(cv2.CAP_PROP_FRAME.

2022-04-11 09:52:10 247

原创 python批量修改文件名称

首先得到的所有结果是修改之后得到的结果注意逻辑,先改文件夹下面的.txt .jpg,如果先改文件夹,可能会导致文件夹名称与文件名不对应count=0path='D:/httpswwwpexelscomzh-tw/'#注意逻辑,先改文件夹下面的.txt .jpg,如果先改文件夹,可能会导致文件夹名称与文件名不对应for file in os.listdir('D:/httpswwwpexelscomzh-tw/'): path1 = o..

2022-04-01 14:52:23 465

原创 记录第一次用git上传代码到gitee

这是成功之后的截图。git init之前一直出现error: src refspec master does not match anyerror: failed to push some refs to 'https://gitee.com/qiu-huaqiao/scrap.git'这样的错后来看了一篇博主写的,收到了启发,原本在gitee里面的分支默认的是master,而使用git bashd here打开的默认进入的是main,所以到最后一部git push origin ...

2022-03-30 11:18:50 768

原创 png四通道透明背景图成功加入到视频帧中 使用了mask原理

import cv2import ffmpegimport cv2import numpy as npimport globvideo_f = 'D:/CCTV/CCTV.mp4' # 视频文件名output_f = 'D:/CCTV/logoafter.mp4' # 输出视频文件名video = cv2.VideoCapture(video_f)# 获取视频宽度frame_width = int(video.get(cv2.CAP_PROP_FRAME_WIDTH))#480#.

2022-03-24 10:45:11 5697

原创 png图片背景转换成透明

import numpy as npimport cv2from PIL import Image# 修改纯白背景图为透明背景图def white2transparent(img): height, width, channel = img.shape for h in range(height): for w in range(width): color = img[h, w] if (color == .

2022-03-23 23:55:37 1587

原创 视频帧中放入图片logo opencv

import cv2import ffmpegimport cv2import numpy as npimport globvideo_f = 'D:/.Download/cctv.mp4' # 视频文件名output_f = 'D:/.Download/logoafter.mp4' # 输出视频文件名video = cv2.VideoCapture(video_f)# 获取视频宽度frame_width = int(video.get(cv2.CAP_PROP_FRAME_WIDT.

2022-03-23 23:53:40 4333

原创 单线程顺序爬取图片以及对应的标签

import requestsfrom bs4 import BeautifulSoupimport jsonimport lxmlimport reimport osimport os.pathimport stringpath = 'D:/httpswwwpexelscomzh-tw/'def dwonload_img(page): global count url = f'https://www.pexels.com/zh-tw/?format=js&s.

2022-03-22 15:11:17 1976

原创 fiddlers2

import requestsfrom bs4 import BeautifulSoupimport jsonimport lxmlimport reimport osimport os.pathimport string#headers中的内容要分大小写#//nas/LargeSave/高清图像数据/httpswww.pexels.comzh-tw/#a.关于使用request.get访问不了的情况,加上Accept Accept-Language Referer User-.

2022-03-22 11:33:48 2297

原创 pa需登录网站的图

from selenium import webdriverfrom selenium.webdriver import ChromeOptionsfrom selenium.webdriver.common.desired_capabilities import DesiredCapabilitiesimport timefrom bs4 import BeautifulSoupimport reimport osfrom selenium.webdriver.common.action_.

2022-03-18 16:26:44 80

原创 pa需要登录的网站且其三方QQ登录

pa的网站:https://ibaotu.com/sy/17-0-0-0-0-112.html(供学习使用)from selenium import webdriverfrom selenium.webdriver import ChromeOptionsfrom selenium.webdriver.common.desired_capabilities import DesiredCapabilitiesimport timefrom bs4 import BeautifulSoupim

2022-03-18 15:59:33 1039

原创 爬虫利用selenium模拟登录

from selenium import webdriverfrom selenium.webdriver import ChromeOptionsfrom selenium.webdriver.common.desired_capabilities import DesiredCapabilitiesimport timefrom bs4 import BeautifulSoupimport re#设置参数 excludeSwitches达到selenium被反爬(在这个地方卡了好久).

2022-03-17 17:59:20 365

原创 python os.listdir将文件中所有图进行单独图片保存在对应文件夹中

#将一个文件中所有的图片进行另保存,并且对应创建文件夹保存对应图import osimport os.pathimport cv2read_path='C:/Users/qhq/Downloads/imgs'#save_path='C:/Users/qhq/Downloads/imgs1/'#save_path='//nas/LargeSave/gaoqing_images/httpswww.pexels.comzh-tw/'save_path='C:/Users/qhq/Downloads.

2022-03-17 10:43:16 2329 2

原创 使用fiddlers进行爬虫

import requestsfrom bs4 import BeautifulSoupimport jsonimport lxmlimport reimport osimport os.pathimport string#要分大小写path = '//nas/LargeSave/高清图像数据/httpswww.pexels.comzh-tw/'def get_image(page,count): url=f'https://www.pexels.com/zh-tw/?.

2022-03-15 18:09:35 2279

原创 解决selenium爬取动态网页的坑(2)

坑一:关于滚动条加载到底部的解决。上一次的爬取,出现了尽管加上driver.execute_script("scroll(0,100000)") ,依旧不能加载到底部。而且经过观察发现,此次加载到最后停留的地方都是在同一个地方,这就发现了应该与这个scroll设置的极限参数有关系,果不其然,将参数设的很小的时候,获取到的图片仅有30多张。所以将100000这个参数再次加上一个数量级,观察滚动条是否会滚动到最后,最后真的滚到了最后!这样才能获取到全部的element代码。# 将滚动条下拉至最低,才能

2022-03-11 16:43:32 1037

原创 paqu动态网页使用selenium被反pa(1)

目标是为了得到,该网站的免費圖庫相片 · Pexels所有图片,并分别对应保存到单独的文件夹中,其中获取得到对应的图片的标签信息以txt文件对应保存到文件中。以0,1,2,3,4.......顺序保存效果展示::过程记录:首先想到的方法就是使用requests.get最常用的这个方法,来获取数据,然而直接面临response.status_code的状态码是403,就此就应该考虑到这个网页是由反爬的设定的,常用方法加上hesders ,cookie,但是依旧是不能够访问的...

2022-03-08 16:52:21 8051

原创 paqu动态网页踩过的坑

1.今天踩了一个大坑,之前以为获取到的代码与element不一样,是由于动态网页的缘故,实际上根本就没有获取到信息,网页反爬虫,访问不到之后注意,用requests.get来获取信息的时候,输出一下状态码,200才为正常访问2.对于动态网页概念上的理解,昨天paqu的豆瓣网也是一个动态网页,恰好运气好,没有直接去尝试获取element源码(一般静态网络爬取的套路就是在element中找自己想要获取的信息),而是在network中的XHR部分发现了subjects这个网页中的信息正是我想要的信息其

2022-03-04 16:49:05 352

原创 CAM可视化

参考:https://blog.csdn.net/herr_kun/article/details/106997646CAM以热力图的形式告诉了我们,模型是重点通过哪些像素确定这个图片是羊驼了。一句话总结CAM方法:最后一层的卷积层的所有特征图,针对该层的每个特征图求出均值,最后对应特征图加权求和得到最终的热力图。直接看图pic1。在最后一层卷积层(全连接层之前接上GAP)从图中可以看到,经过GAP之后,我们得到了最后一个卷积层每个特征图的均值,通过加权和得到输出(实际中是soft.

2021-12-14 16:06:26 4553

原创 如何下载 dgl(cuda版本)及如何打开jupyter

1.conda命令安装dgl(关于图分类的项目代买中需要用到的模块)2.长时间未使用Jupyter,记录一下如何打开jupyter

2021-11-11 11:13:42 2147

原创 关于用labelme生成有图例的图片(label_viz)

打开终端Anaconda Prompt (anaconda3),输入:activate labelme再输入:labelme_json_to_dataset C:\Users\ASUS\Desktop\42-2.json最后,

2021-10-28 16:35:28 459

原创 docker的安装以及跑本地项目代码步骤说明

docker作用简介:docker对于开发来说,用来磨平环境问题,可以很快的完成成千上百的服务集群的快速部署安装docker总结:docker是在linux上面运行的一个容器环境,它可以独立分隔开程序。为了在Windows系统中搭建linux环境,所以需要安装虚拟机Hyper-V,这个是Windows10系统中自带的虚拟机,需要在“程序和功能”中启动Hyper-V,之后安装docker,要使docker运行起来,需要版本WLS2(Windows子系统Linux2)https://www.jia...

2021-10-21 09:53:07 9164

原创 window10安装GPU版本的pytorch步骤

安装GPU版本的pytorch步骤首先进入AncondaPrompt(conda的终端),输入以下命令:1.更新pip指令python-mpipinstall--upgradepip-ihttp://mirrors.aliyun.com/pypi/simple/--trusted-hostmirrors.aliyun.com2.安装torch1.0.0(官网https://pytorch.org/get-started/previous-versions/#wheel...

2021-07-16 11:49:08 589

原创 python中%格式符应用解释

1.格式符:为真实值预留位置,并控制显示的格式。其中,%操作符可用于格式化字符串操作,控制字符串的呈现格式。%s 字符串 (采用str()的显示)%r 字符串 (采用repr()的显示)%c 单个字符%b 二进制整数%d 十进制整数%i 十进制整数%o 八进制整数%x 十六进制整数%e 指数 (基底写为e)%E 指数 (基底写为E)%f 浮点数%F 浮点数,与上相同%g 指数(e)或浮点数 (根据显示长度)%G 指数(E)或浮点数 (根据显示长.

2021-07-09 15:37:51 4221 1

原创 关于如何在pycharm中搭建好的tensorflow环境下添加PIL库

第一个坑:首先要知道的是python 2.7版本之后PIL库不再存在,用Pillow这个库替代了,所以用简单的pip install PIL或者在pycharm中setting那里搜索PIL实际上是对应不上版本的(因为普遍现在大家用的python版本都是3.x)第二个坑:下载指令(万金油指令模式):python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple Pillow成功运行:pyc..

2020-12-09 17:31:35 814

原创 关于在pycharm中搭建tensorflow-gpu环境的详细安装过程记录

关于在pycharm中搭建tensorflow-gpu环境的详细安装过程记录简单介绍一下搭建环境需要的辅助软件anconda、CUDA、cudnnanconda:就是一个开源库,里面有很多包,包含tensorflow-gpu(这就是为啥搭建tensorflow-gpu要安装它)CUDA是NVIDIA推出的用于自家GPU的并行计算框架,也就是说CUDA只能在NVIDIA的GPU上运行,而且只有当要解决的计算问题是可以大量并行计算的时候才能发挥CUDA的作用。cuDNN(CUDADeepNeu..

2020-12-07 17:22:02 10321 2

原创 Python入门---运行Hello World程序运行方法总结

运行方法:1.交互式(1)进入windows命令提示符窗口(windows+r),输入cmd然后输入Python,进入Python运行环境,在>>>提示符后面输入exit()或者quit()就可以退出环境(2)在windows“开始”那里搜寻“IDLE”,在>>>提示符后面输入Hello World,回车执行2.文件式(1)在记事本中输入符...

2019-08-29 16:30:05 2870

原创 c语言strstr的用法--swust.oj--购物清单

程序设计C 实验五 题目七 购物清单1000(ms)65535(kb)2433/4882当你去消费时,你会在一个很长的货架上找你需要的东西。由于你只记得部分的关键词,这样就会有很多备用物品供你去选择。现在给出所有的商品名,和你记得的关键字,设计一个程序找出拥有这些关键字的产品的个数。输入只有一个测试用例,首先输入一个正整数P(1 ≤ P ≤10000),...

2019-05-06 22:22:53 857

原创 数据类型相关的小问题

1、在C语言中如果定义的是浮点型,而输入的是整型,系统不会报错,系统会自动判定它为整型,使用过程当中也是把它当成整型使用。2、而如果定义的是整型,而输入的是浮点型,系统也不会报错,系统会将小数点后面的数截掉(不是四舍五入)eg.输入的是:4.56,而系统把它当成整型数字4来使用的。...

2018-07-22 10:10:53 360

原创 SqList *&L与SqList *L的区别

//定义顺序表L的结构体 2 typedef struct 3 { 4 Elemtype data[MaxSize]; 5 int length; 6 }SqList; 7 8 //建立顺序表 9 void CreateList(SqList * &L,ElemType a[ ],int n)10 {11 int i;12 L = (...

2018-04-02 20:19:59 21242 10

原创 c++中的引用

引用总结  (1)在引用的使用中,单纯给某个变量取个别名是毫无意义的,引用的目的主要用于在函数参数传递中,解决大块数据或对象的传递效率和空间不如意的问题。  (2)用引用传递函数的参数,能保证参数传递中不产生副本,提高传递的效率,且通过const的使用,保证了引用传递的安全性。  (3)引用与指针的区别是,指针通过某个指针变量指向一个对象后,对它所指向的变量间接操作。程序中使用指针,程序的可读性差...

2018-03-31 09:54:40 153

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除