m0_72041809 2022-07-07 10:21 采纳率: 50%
浏览 55
已结题

无报错无法运行的问题

问题遇到的现象和发生背景

做图像处理和线性回归遇到不报错但无法运行的问题

问题相关代码,请勿粘贴截图

img

img

img

img

img

img


import cv2
import numpy as np
import matplotlib.pyplot as plt

img = cv2.imread(r'C:\Users\Xpc\Desktop\weixin2222 change40.jpg')
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
low_hsv = np.array([0, 0, 221])
high_hsv = np.array([180, 30, 255])
mask = cv2.inRange(hsv, lowerb=low_hsv, upperb=high_hsv)

list_y = []
list_x = []

for i in range(len(mask)):
    xmax = []
    for j in range(len(mask[i])):
        if mask[i][j] == 0:
            list_x.append(j)
            list_y.append(len(mask)-i)

plt.plot(list_x, list_y, 'o', color='r')
plt.show()

x_array=np.array(list_x)
x_array=x_array/400
y_array=np.array(list_y)
y_array=y_array*0.2/400
print(x_array)
print(y_array)

list_x1=[]
for i in range(0,len(x_array)):
    list_x1.append(40)
x1_array=np.array(list_x1)

list_x0=[]
for i in range(0,len(x_array)):
    list_x0.append(1)
x0=np.array(list_x0)
x1=x_array
x2=x1_array
x3=x1*x2
x4=x1*x1
x5=x2*x2
label40=y_array
z40=np.vstack((x0,x1,x2,x3,x4,x5)).T





img = cv2.imread(r'C:\Users\Xpc\Desktop\weixin2222 - 50.jpg')
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
low_hsv = np.array([0, 0, 221])
high_hsv = np.array([180, 30, 255])
mask = cv2.inRange(hsv, lowerb=low_hsv, upperb=high_hsv)


list_y = []
list_x = []

for i in range(len(mask)):
    xmax = []
    for j in range(len(mask[i])):
        if mask[i][j] == 0:
            list_x.append(j)
            list_y.append(len(mask)-i)

plt.plot(list_x, list_y, 'o', color='r')
plt.show()

x_array=np.array(list_x)
x_array=x_array/400
y_array=np.array(list_y)
y_array=y_array*0.2/400
print(x_array)
print(y_array)

list_x1=[]
for i in range(0,len(x_array)):
    list_x1.append(40)
x1_array=np.array(list_x1)

list_x0=[]
for i in range(0,len(x_array)):
    list_x0.append(1)
x0=np.array(list_x0)
x1=x_array
x2=x1_array
x3=x1*x2
x4=x1*x1
x5=x2*x2
label50=y_array
z50=np.stack((x0,x1,x2,x3,x4,x5),axis=0).T

 
img = cv2.imread(r'C:\Users\Xpc\Desktop\weixin2222 - 55.jpg')
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
low_hsv = np.array([0, 0, 221])
high_hsv = np.array([180, 30, 255])
mask = cv2.inRange(hsv, lowerb=low_hsv, upperb=high_hsv)


list_y = []
list_x = []

for i in range(len(mask)):
    xmax = []
    for j in range(len(mask[i])):
        if mask[i][j] == 0:
            list_x.append(j)
            list_y.append(len(mask)-i)

plt.plot(list_x, list_y, 'o', color='r')
plt.show()

x_array=np.array(list_x)
x_array=x_array/400
y_array=np.array(list_y)
y_array=y_array*0.2/400
print(x_array)
print(y_array)

list_x1=[]
for i in range(0,len(x_array)):
    list_x1.append(40)
x1_array=np.array(list_x1)

list_x0=[]
for i in range(0,len(x_array)):
    list_x0.append(1)
x0=np.array(list_x0)
x1=x_array
x2=x1_array
x3=x1*x2
x4=x1*x1
x5=x2*x2
label55=y_array
z55=np.stack((x0,x1,x2,x3,x4,x5),axis=0).T


img = cv2.imread(r'C:\Users\Xpc\Desktop\weixin2222 -60.jpg')
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
low_hsv = np.array([0, 0, 221])
high_hsv = np.array([180, 30, 255])
mask = cv2.inRange(hsv, lowerb=low_hsv, upperb=high_hsv)


list_y = []
list_x = []

for i in range(len(mask)):
    xmax = []
    for j in range(len(mask[i])):
        if mask[i][j] == 0:
            list_x.append(j)
            list_y.append(len(mask)-i)

plt.plot(list_x, list_y, 'o', color='r')
plt.show()

x_array=np.array(list_x)
x_array=x_array/400
y_array=np.array(list_y)
y_array=y_array*0.2/400
print(x_array)
print(y_array)

list_x1=[]
for i in range(0,len(x_array)):
    list_x1.append(40)
x1_array=np.array(list_x1)

list_x0=[]
for i in range(0,len(x_array)):
    list_x0.append(1)
x0=np.array(list_x0)
x1=x_array
x2=x1_array
x3=x1*x2
x4=x1*x1
x5=x2*x2
label60=y_array
z60=np.stack((x0,x1,x2,x3,x4,x5),axis=0).T


img = cv2.imread(r'C:\Users\Xpc\Desktop\weixin2222 - 65.jpg')
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
low_hsv = np.array([0, 0, 221])
high_hsv = np.array([180, 30, 255])
mask = cv2.inRange(hsv, lowerb=low_hsv, upperb=high_hsv)


list_y = []
list_x = []

for i in range(len(mask)):
    xmax = []
    for j in range(len(mask[i])):
        if mask[i][j] == 0:
            list_x.append(j)
            list_y.append(len(mask)-i)

plt.plot(list_x, list_y, 'o', color='r')
plt.show()

x_array=np.array(list_x)
x_array=x_array/400
y_array=np.array(list_y)
y_array=y_array*0.2/400
print(x_array)
print(y_array)

list_x1=[]
for i in range(0,len(x_array)):
    list_x1.append(40)
x1_array=np.array(list_x1)

list_x0=[]
for i in range(0,len(x_array)):
    list_x0.append(1)
x0=np.array(list_x0)
x1=x_array
x2=x1_array
x3=x1*x2
x4=x1*x1
x5=x2*x2
label65=y_array
z65=np.stack((x0,x1,x2,x3,x4,x5),axis=0).T



img = cv2.imread(r'C:\Users\Xpc\Desktop\weixin2222 - 70.jpg')
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
low_hsv = np.array([0, 0, 221])
high_hsv = np.array([180, 30, 255])
mask = cv2.inRange(hsv, lowerb=low_hsv, upperb=high_hsv)


list_y = []
list_x = []

for i in range(len(mask)):
    xmax = []
    for j in range(len(mask[i])):
        if mask[i][j] == 0:
            list_x.append(j)
            list_y.append(len(mask)-i)

plt.plot(list_x, list_y, 'o', color='r')
plt.show()

x_array=np.array(list_x)
x_array=x_array/400
y_array=np.array(list_y)
y_array=y_array*0.2/400
print(x_array)
print(y_array)

list_x1=[]
for i in range(0,len(x_array)):
    list_x1.append(40)
x1_array=np.array(list_x1)

list_x0=[]
for i in range(0,len(x_array)):
    list_x0.append(1)
x0=np.array(list_x0)
x1=x_array
x2=x1_array
x3=x1*x2
x4=x1*x1
x5=x2*x2
label70=y_array
z70=np.stack((x0,x1,x2,x3,x4,x5),axis=0).T


rescombine = np.vstack((z40,z50,z55,z60,z65,z70))
labels= np.hstack((label40,label50,label55,label60,label65,label70)).T
print(rescombine)
data=rescombine


class LinearRegression:
    def __init__(self,data,labels):
        
        self.data = data
        self.labels = labels
        num_features = len(data[0])
        self.theta = np.zeros((num_features,1))
        


    def train(self,alpha,num_iterations = 500):
       
        cost_history = self.gradient_descent(alpha,num_iterations)
        return self.theta,cost_history
        
    def gradient_descent(self,alpha,num_iterations):
        cost_history= []
        for _ in range(num_iterations):
            self.gradient_step(alpha)
            cost_history.append(self.cost_function(self.data,self.labels))
        return cost_history
        
        
    def gradient_step(self,alpha):    
        num_examples = data.shape[0]
        prediction = LinearRegression.hypothesis(self.data,self.theta)
        delta = prediction - self.labels
        theta = self.theta
        theta = theta - alpha*(1/num_examples)*(np.dot(delta.T,self.data)).T
        self.theta = theta
        
        
    def cost_function(self,data,labels):
        self.m = len(labels)
        delta = LinearRegression.hypothesis(data,self.theta) - labels
        cost = (1/2)*np.dot(delta.T,delta)/self.m
        return cost[0][0]
        
    
    def hypothesis(data,theta):   
        predictions = np.dot(data,theta)
        return predictions
        

x_train = rescombine

y_train = labels

num_iterations = 500
learning_rate = 0.01  


linear_regression = LinearRegression(x_train, y_train)

(theta, cost_history) = linear_regression.train(learning_rate, num_iterations)



print (theta, cost_history)
运行结果及报错内容

运行不了但是没有报错

我的解答思路和尝试过的方法

我在想有没有可能是因为我的数据太多了,电脑不行之类的。。

我想要达到的结果

能正常运行程序,算出这个参数和损失值

  • 写回答

2条回答 默认 最新

  • 卷积神经网络 2022-07-07 10:48
    关注

    你多大的数据

    评论

报告相同问题?

问题事件

  • 系统已结题 7月15日
  • 赞助了问题酬金5元 7月7日
  • 创建了问题 7月7日

悬赏问题

  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误