python 学习笔记(三)

sublime text4编辑器

上次遇到的问题:
修改代码后,运行结果不变。始终是第一次打开时的运行结果。

网上搜索了很多,始终没有找到是哪的问题。我以为是安装问题,还有配置的问题,搜了下配置教程,发写一个比较好的配置教程:sublime text介绍及插接配置 这个教程前面几节关于配置的可以看一下。后面关于PHP和别的语言的配置就不需要了。(这个不是解决问题的视频)。

还有一个配置教程,就是避免每次编译都弹出一个窗口的问题。sublime避免每次编译弹新的窗口8分钟往后就可以看到,这里面也给出了F5编译,快捷键的代码的来源。

回到最初的问题,无意中看到这个类似问题:sublime text运行结果重复他是在运行Java出现的问题,但是都是这个编译器,所以看了一下(关键是搜不到类似的问题)。最下面的回复是说的,单独保存后在编译就可以了。试了一下,果然可以。

搜编译器编译时自动保存,没看到相关配置介绍。倒是看到了自动保存这个功能,Sublime Text3自动保存的功能
照着配置后,可以自动保存了。但是自动保存的前提是,要把光标切换到别的页面!就是要移动光标点一下编辑代码之外的界面。
在这里插入图片描述
如上图。

图像反转

想将RGB转灰度图单独放到外面的函数里面。写了一个函数。编译一直提示

TabError: inconsistent use of tabs and spaces in indentation

原因:Python区分块级别是通过Space空格和Table制表来进行区分的,并且对这两种分隔符都有相当严厉的规定,要么都用空格键缩进,要么都用tab键缩进,不能混用。

死活找不到哪里混用了!!!!

网上推荐将编辑器的空格显示打开。操作方式
在这里插入图片描述
加号中间的空格吗???
——
删除后试一下。
——
删除后还是不行。

for循环里对齐格式不对吗?
删掉gray前的空格,删到紧跟着 for循环语句,在回车。
——
错误。消失!

在这里插入图片描述
这里一直提示缩进错误!
——
删掉空格。错误消失!!!
新问题

too many values to unpack (expected 2)

函数返回值比给的接收变量多,所以出错。修改
运行结果:在这里插入图片描述
在这里插入图片描述

下图为原图,上图为转换出来的灰度图。

import cv2

import matplotlib.pyplot as plt

import numpy as np

def RGBtogray(image):
	'''
	RGB 转为灰度图
	'''
	gray = np.zeros(image.shape,np.uint8)

	#提取rgb三通道
	B,G,R = cv2.split(image)

	##加权平均法 I(x,y)=0.3*I_R(x,y)+0.59*I_G(x,y)+0.11*I_B(x,y)

	row,col,channel= image.shape

	for r in range(0,row):
  	  for l in range(0,col):
  	  	gray[r,l]=0.3*R[r,l]+0.59*G[r,l]+0.11*B[r,l]
	
	return	gray

#图片路径
img_path = r"E:\Laboratory documents\DIP_study_note\image\flower.jpg"

#img_path = input("请输入地址:")

#读取图片
image = cv2.imread(img_path)

print('image11 shape'+ str(image.shape))

gray_picture = np.zeros(image.shape,np.uint8)

gray_picture =RGBtogray(image)

#plt.figure(figsize = (20, 15))

# 	plt.subplot(1,3,i+1)

plt.imshow(gray_picture)
plt.title("RGBtogray")
plt.xticks([]),plt.yticks([])
#plt.savefig('E:\Laboratory documents\DIP_study_note\image\plt_figure\flower_gray.png')
plt.show()

这里有个问题,这样转换灰度图速率太低,循环次数太多。

现在进行简单地灰度反转。

def Reverse_picture(image):
	'''
	灰度值翻转
	'''
	output = np.zeros(image.shape,np.uint8)
	
	row,col,channel= image.shape

	for r in range(0,row):
  	  for l in range(0,col):
  	  	output[r,l]=255-image[r,l]

	return output

在这里插入图片描述
上图为灰度翻转后的图像。明显看到和原图直接转的灰度图相比,亮暗部分出现了翻转。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值