Форум сайта python.su
0
Piton23Спасибо всем огромное, то что я хотела получилось сделать:) Да тайны никакой нет, у нас с этого семестра начался курс по распознаванию изображений, вот делаю лабораторную работу(нужно сделать интегральное представление изображения), для программирования выбрала язык python, вот сижу потихоньку читаю книги и разбираюсь :) наверное с моей стороны совсем нагло будет попросить помочь еще перевести данный код:
Раз уж тайна задачи остается за 7 замками то объясним хотяб ей что за ошибка )
Q - последовательность, итерируемый объект
число (такое как 5, 18 или 69) - не итерируемый объект
Так вот функция len над итерируемым объектом возвращает количество, если список то количество элементов, если строка то количество символов.
Вы же когда запрашиваете len(S) спрашиваете чему равна длина первого элемента списка, т.е. len(1) на что и получаете ошибку. А ведь действительно нельзя ж подсчитать длину числа.
В итоге вы либо говорите конкретную задачу которую вам нужно решить и получаете решение за пол часа, т.е. приводите пример двухмерного массива. Либо если вам нужен репетитор чтобы спрашивать а что в этой строчке не так, а что в этой, я думаю желающих по уменьшится :)
public static int SumOfRectangle(int[,] integralImage, Rectangle rect)
{
int A = 0, B = 0, C = 0, D = 0;
if (rect.Top > 0 || rect.Left > 0)
if (rect.Top <= 0)
D = integralImage[rect.Left - 1, rect.Bottom];
else
if (rect.Left <= 0)
B = integralImage[rect.Right, rect.Top - 1];
else
{
A = integralImage[rect.Left - 1, rect.Top - 1];
B = integralImage[rect.Right, rect.Top - 1];
D = integralImage[rect.Left - 1, rect.Bottom];
}
C = integralImage[rect.Right, rect.Bottom];
return A + C - B - D;
}
from rectangle import rectangle
from intimage import image
def SumOfRectangle(image, rect):
A = 0
B = 0
C = 0
D = 0
if rectangle([rect1]) > 0 || rectangle([rect2]) > 0:
if rectangle([rect1]) <=0:
D = intimage(rectangle([rect2]-1), [rect3]))
else:
if rectangle([rect2]) <=0:
B = intimage(rectangle([rect4]), [rect1] - 1)
else:
A = intimage(rectangle([rect2] - 1, [rect1] - 1)
B = intimage(rectangle([rect4], [rect1] - 1)
D = intimage(rectangle([rect2] - 1, [rect3])
C = intimage(rectangle([rect4]), [rect3])
return A + C - B - D
Офлайн
568
kateКакая феерическая чушь, Господи!
Тут есть 2 метода - integralImage и Rectangle rect, их я реализовала у меня они intimage и rectangle соответственно. Вот попыталась сейчас перевести данный код, но как всегда мои попытки тщетны:)from rectangle import rectangle
from intimage import image
def SumOfRectangle(image, rect):
A = 0
B = 0
C = 0
D = 0
if rectangle([rect1]) > 0 || rectangle([rect2]) > 0:
if rectangle([rect1]) <=0:
D = intimage(rectangle([rect2]-1), [rect3]))
else:
if rectangle([rect2]) <=0:
B = intimage(rectangle([rect4]), [rect1] - 1)
else:
A = intimage(rectangle([rect2] - 1, [rect1] - 1)
B = intimage(rectangle([rect4], [rect1] - 1)
D = intimage(rectangle([rect2] - 1, [rect3])
C = intimage(rectangle([rect4]), [rect3])
return A + C - B - D
rectangle([rect1])
[rect2] - 1
Офлайн
17
Этот код переносится просто:
def SumOfRectangle( integralImage, rect ):
A = B = C = D = 0
if rect.Top > 0 or rect.Left > 0:
if rect.Top <= 0:
D = integralImage[rect.Left - 1, rect.Bottom]
elif rect.Left <= 0:
B = integralImage[rect.Right, rect.Top - 1]
else:
A = integralImage[rect.Left - 1, rect.Top - 1]
B = integralImage[rect.Right, rect.Top - 1]
D = integralImage[rect.Left - 1, rect.Bottom]
C = integralImage[rect.Right, rect.Bottom]
return A + C - B - D
Офлайн
36
А тема топика: Из одномерного массива сделать двумерный… количество вариантов просто потрясает :(
Офлайн
253
pyuserКаков вопрос таков и ответ. Вот еще вариант
количество вариантов просто потрясает
a=[1]# одномерный список
b=[a]# двумерный
Офлайн