Здравствуйте, я криворукий.
Как следует из названия, я думаю, что модель волны Xiaomi немного мала.
Все дело в том, что вечером 10 августа мистер Лэй провел пресс-конференцию, как раз к десятилетию Xiaomi.
Я закончил наблюдать за всем процессом, и тогда г-н Лэй был очень впечатлен.В то время я искал планшет и хотел повысить свою производительность, поэтому я сразу же заказал его в приложении Xiaomi Youpin:
Через некоторое время я подошел посмотреть и обнаружил, что существует акция по раздаче защитных оболочек и закаленных пленок.
Нажмите, чтобы увидеть подробности, правила акции следующие:
Поэтому после того, как я получил планшет, я дал ему пятизвездочный обзор в тот вечер.
Серьезно, "потрясающие" и "звуковые эффекты" в комментариях - это настоящие ощущения после распаковки. До сих пор меня впечатляли его восемь динамиков.
Но если бы не было этого события, мне было бы уж точно лень комментировать эту волну.
Когда комментировал, смотрел, общее количество комментариев не превышало 1000. К сожалению, забыл тогда сделать скриншот.
Во всяком случае, я тогда подумал, что эта волна должна быть стабильной.
Просто сиди и жди доставки.
Хлоп, скоро месяц прошел, и настало время 18 сентября.
Я вдруг снова вспомнил об этом, а затем я вошел в приложение, чтобы увидеть список победителей.
В это время произошло нечто интересное.
Во-первых, анонсированный список на самом деле представляет собой длинное изображение, и оно содержит только три части информации: серийный номер, номер заказа и идентификатор пользователя:
Вы знаете, что означает картинка, верно?
Означает, что я не могу найти номер своего заказа или идентификатор пользователя.
Так что я посмотрел на них один за другим.
Посмотрев его минуты две, я почувствовал, что это неправильно, я не знаю, с какой целью я дал картинку, и функция поиска была полностью заблокирована, в любом случае, меня тошнит от такого пользовательского опыта.
В это время я вдруг проснулся: зачем мне быть глупым, чтобы самому видеть? 1000 номеров заказов, нужно ли мне видеть когда?
В этот момент моя внутренняя мысль была неподвижна: я должен быть там, но мне лень искать это.
Итак, я решил обратиться за помощью в службу поддержки, и произошел такой разговор:
Но здесь я должен сказать, что отношение службы поддержки клиентов, которая связалась со мной в то время, было действительно хорошим, очень хорошим, и я чувствовал себя очень комфортно.
Но этот пользовательский опыт действительно потрясающий.Чтобы дать вам интуитивное ощущение, я также поместил картинку здесь:
Как, немного сложно найти в нем указанный номер заказа?
И это всего 150 заказов...
Допустим, я действительно нахожусь из 1000, и могу ослепнуть. И прочитав однажды, я узнал: Эй, почему меня нет? Я скучаю по этому? Снова.
Так что глаза должны быть более осторожными и снова слепыми.
Короче говоря, я, наконец, попросил службу поддержки помочь мне прочитать его, и окончательный вывод состоял в том, что меня не было.
В то время я подумал про себя, что ничего страшного, если я этого не сделаю, потому что это не открыто и не прозрачно, поэтому я не могу этого делать.
Но через несколько дней мне довелось увидеть это в сообществе Xiaomi.
Итак, я снова открыл страницу комментариев приложения Youpin, пролистал несколько комментариев и обнаружил, что ниже упоминается довольно много вещей, поэтому я просто сделал несколько скриншотов:
Оказывается, я не единственный, кто так запутался, что немного интересно.
Я решил поиграть с ним.
распознавание изображений
Прежде всего, хочу пояснить, что на картинках 1000 номеров заказа действительно нет меня, потому что я действительно не смотрел их по одному.
Итак, я собираюсь перепроверить.
Конечно, я не могу найти их по одному.
Итак, я подумал о технологии распознавания изображений.
Итак, я искал по ключевым словам в браузере, и первые два были знакомы по вкусу, когда я увидел:
Рекламируйте себя, это нормально.
Нажмите и посмотрите, молодец, это бесплатно.
Именно то, что я хочу, так что используйте его.
Раньше я не сталкивался с этим полем, поэтому кодировать голыми руками для меня определенно нереально.
Но по моей интуиции как программиста на протяжении многих лет, должен быть пакет SDK, и тогда можно будет запустить его, изменив в нем параметры.Демо, можно получить результат, тут не так много внимания.
Итак, первое, что я делаю, это ищу официальную документацию, в которой должен быть указан адрес загрузки пакета SDK.
Конечно же, я нашел это с первого взгляда:
Вскоре я вытащил код и настроил его по идее.
Затем следуйте инструкциям в документации, чтобы вставить этот метод в проект:
Тогда есть два вопроса.
Во-первых, следовать подсказкам кода, мне нужны APP_ID, API_KEY, SECRET_KEY.
Эту проблему легко решить, для создания приложения очень просто нажать несколько следующих шагов, и вы сможете получить соответствующие параметры:
У меня есть конфигурация здесь, вы можете использовать ее напрямую, если хотите играть, но в бесплатной версии есть ограничение на количество вызовов.
public static final String APP_ID = "24883148";
public static final String API_KEY = "VVBoWjFADAOPTONBRif5DG6G";
public static final String SECRET_KEY = "u7w61bHlaDpKRbWaXM8GzxDrifLKwVXS";
Вторая проблема в том, что мне нужно найти интерфейс для вызова, который тоже есть в официальной документации:
Тут много сценариев, мне сейчас нужно цифровое распознавание.
Его также можно найти в SDK:
Теперь, когда все работает, мне просто нужно запустить основной метод, и я смогу увидеть результаты.
Но когда я бегу...
Картинка слишком большая.
Итак, я сначала сделал небольшой снимок, чтобы проверить, нормальная ли функция.
Я запустил его еще раз и обнаружил, что все в порядке, и я узнал его:
Теперь осталась последняя проблема, картинка слишком большая, как ее решить?
Это очень просто, разделение изображения, разделение изображения на несколько изображений, следующий код, который я нашел в Интернете, может это сделать:
public class ReadPicNum1 {
private static final String IMAGE_FILE_PATH = "D:\Pic\1.jpg";
//横向分隔个数
private static final int SEP_X_NUM = 1;
//纵向分隔个数
private static final int SEP_Y_NUM = 3;
public static void main(String[] args) throws Exception {
cutPic();
}
public static String cutPic() throws Exception {
File file = new File(IMAGE_FILE_PATH);
if (!file.exists() || !file.isFile()) {
throw new RuntimeException("file not exists or un-file:" + IMAGE_FILE_PATH);
}
BufferedImage image = ImageIO.read(file);
int totalWidth = image.getWidth();
int totalHeight = image.getHeight();
int width = totalWidth / SEP_X_NUM;
int height = totalHeight / SEP_Y_NUM;
File dirFile = new File(file.getParent(), file.getName().substring(0, file.getName().lastIndexOf(".")));
if (!dirFile.exists()) {
dirFile.mkdir();
}
for (int y = 0, j = 1; y <= totalHeight - height; y += height, j++) {
for (int x = 0, i = 1; x <= totalWidth - width; x += width, i++) {
File targetFile = new File(dirFile, j + "_" + i + ".jpg");
BufferedImage targetImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics g = targetImage.getGraphics();
g.drawImage(image.getSubimage(x, y, width, height), 0, 0, null);
ImageIO.write(targetImage, "JPG", targetFile);
}
}
return dirFile.getPath();
}
}
Окончательный результат таков:
Теперь, когда программа готова, пора переходить к делу.
Мне просто нужно найти ссылку на длинное изображение в списке победителей, затем загрузить изображение локально по ссылке, а затем использовать указанную выше программу, чтобы разделить изображение на 100 частей, определить последнее изображение и вывести результат непосредственно в консоль, разве ты не знаешь, есть ли номер моего заказа?
Я такой гений.
Но когда я снова открыл страницу и захотел реализовать свой план, чувак, списка победителей уже не было!
Интересно, как это не было объявлено в течение нескольких дней, почему это пропало?
Поэтому я еще раз посмотрел правила мероприятия и сказал только время начала объявления, но не сказал, когда объявление будет отменено:
Кажется, что эта дорога не пройдет, и я рассчитываю, что даже если я ее опознаю, меня в ней точно не будет, просто я не сдаюсь до Хуанхэ.
Хоть я и не увидел в правилах мероприятия дедлайн объявления списка, но увидел другое, от чего у меня заблестели глаза, и история развернулась:
Если я не угадал, это означает следующее предложение: Отсортируйте комментарии по системному времени и возьмите первые 1000 действительных комментариев, которые являются выигрышным списком.
подождите, комментарий?
Я все еще вижу комментарии, только на странице сведений о продукте:
Здесь я могу видеть все комментарии и все время комментирования.
Так...
Я ненароком собрал все комментарии, затем случайно занес все данные в базу данных, потом как-то отсортировал их по времени комментариев, и, наконец, очень случайно взглянул на свое имя, чтобы я мог знать, кто я? топ 1000 хронологических обзоров?
Просто делай, что говоришь, я проверил перед этим, это законно, не волнуйся.
Собирать комментарии
Конечно же, случайно я нашел такое место:
Какое совпадение, это не мой комментарий?
И после анализа я обнаружил, что возвращаемое им поле ctime — это время комментария, но оно возвращается по метке времени, я добавляю три 0 в конце, что является моим реальным временем комментария:
Дальше все просто, мне нужно написать только кусок кода, при написании кода я случайно закинул все эти данные комментария в базу данных:
3751 комментарий, все попали сюда случайно.
Проверьте себя, чтобы увидеть, есть ли повторяющиеся имена:
Проверив это, я обнаружил, что точное время моего комментария было 2021-08-18 22:40:28.
Затем, по необъяснимым причинам, я написал этот SQL, и я все равно не знаю, что это значит:
Если бы мой учитель математики не солгал мне, то я смело могу предположить, что 959 должно быть меньше 1000.
Другими словами, я должен был выиграть в лотерею? Почему меня нет в списке?
Конечно, также возможно, что некоторые комментарии находятся в фоновом режиме и еще не опубликованы, кто знает об этом?
Просто мне кажется, что это мероприятие закончилось, а обзор еще не закончился, это немного надумано?
Мы не смеем спрашивать, мы не смеем говорить.
Теперь, когда данные обзора доступны, позвольте мне взглянуть на то, какая версия планшета Xiaomi продается лучше всего:
Конечно, это 6 + 128G черного цвета, цена 2499 юаней, и какой велосипед нужен. Хорошее соотношение цены и качества.
Хотя я купил 6 + 256G, но стартовая цена составляет 2699 юаней, плюс более 200 128G памяти, я думаю, что эта волна не потеря.
Наконец, все комментарии есть, и все они будут, так что давайте создадим облако слов.
Это облако слов, основанное на всех комментариях, и оно хорошее:
Вот облако слов, полученное путем фильтрации комментариев, связанных с 1000 событий в комментариях, чуть хуже:
Во всяком случае, я это чувствую, это событие, ты только что сказал, что лотерея закончилась, верно?
О, и я, вероятно, не стал бы участвовать в лотерее.
Конечно, это лишь некоторые из моих личных претензий, Xiaomi в моем сердце очень замечательная компания, и я отдаю должное Ребсу.
Но один код есть один код, а эта активность на Xiaomi Youpin сделана не очень хорошо, она не прозрачная, а макет маленький.
Поговорим о распознавании изображений
На самом деле, когда я занимался распознаванием изображений, я обнаружил, что есть много других интересных вещей:
Например, я играл с эффектами изображения, если вы хотите поиграть с ними, вам нужно изменить параметры.
Другие могут играть сами по себе согласно официальной документации:
public static final String APP_ID = "24886324";
public static final String API_KEY = "hxSlOK6C5BTjHyXxkQuNuL7V";
public static final String SECRET_KEY = "skST5eXm861Cw4az5vPZbevNlcOmaKYZ";
Это эффект черно-белого фото после раскрашивания, все равно я чувствую себя немного странно:
Но я попробовал черно-белые фотографии моих бабушек и дедушек многолетней давности, и эффект был немного лучше.
Затем я попробовал интерфейс анимации персонажей, я не мог не рассмеяться:
Наконец, на самом деле код для разбиения изображения, который появился ранее, имеет другую функцию, например, если вы измените его на режим 3*3:
Итак, окончательный результат таков:
Вы понимаете, что я имею в виду?
Можно прикинуться в кругу друзей, хотя толку от яиц не думаю:
Эта статья была включена в мой личный блог, играть может каждый.
В то же время в блоге также были исправлены некоторые проблемы, о которых все сообщали. Спасибо за вашу поддержку, я буду продолжать медленно оптимизировать: