文章目录
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
上图为灰度翻转后的图像。明显看到和原图直接转的灰度图相比,亮暗部分出现了翻转。