• Почему не хватает места?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Беру файл jpg размером в 260 Кб, преобразовываю в bmp.
    Получается файл размером 6.2 Мб - разница в 23 раза.
    То есть если бы я преобразовывал файл размером в 200 Мб, место он бы занял ок 4.6 Гб.
    Примерно такие преобразования производит стандартный виндовый Paint, и ему видимо не хватает места в оперативной памяти, чтобы распаковать ваш файл.
    По видимому он пытается зарезервировать место в оперативке под распаковку, а оказывается, что места-то и недостаточно.
    Как решить проблему? - попробовать другой графический редактор.
    Ответ написан
    Комментировать
  • Почему не хватает места?

    Нормальный графический вьювер уровня FastStone Image Viewer не помогает?
    Ответ написан
    1 комментарий
  • Почему программа зацикливается при переборе?

    @Beltoev
    Живу в своё удовольствие
    Не думаю, что кто-нибудь будет вдаваться в подробности такого не читаемого кода, поэтому предлагаю вам решить проблему самостоятельно, открыв для себя такое чудесное слово, как "Отладчик".

    Все очень просто: поставьте после каждого цикла while и for (на всякий случай) точки остановки. Запустите программу и каждую точку, на которой остановится отладчик, просто пропустите клавишей F5. В итоге, как только программа "зациклится", вы будете знать, до какой точки вы не дошли, следовательно, виновен будет цикл, стоящий до этой точки остановки.

    Ну, а потом уже ставите точку остановки перед этим циклом и клавишей F10 по шагам разбираетесь,почему условие цикла не выполняется.

    UPD:
    Присмотрелся к коду:
    for (i = 0; i < 81; i++) <-----
                {
    ...
                            i--; <-----
                            while(arr1[i,0,8] > 0 && i > 0)
                            {
                                i--; <-----
                            }
                            if (i != 0)
                            {
                                i--; <-----
                            }

    Уловили? =)
    Ответ написан
    4 комментария
  • Микрокомьютеры на базе AR9331 нужны ли?

    @komjaga
    Программист встроенного ПО
    на авито? неудивительно, совсем не тот контингент
    Ответ написан
    1 комментарий
  • Существуют ли OpenSource нейросети по работе с текстом и общением?

    @0x131315
    Нейросеть не работает с текстом. Она работает с данными, а уж какие данные - это как обучишь.

    Тебе нужен OpenSource framework для построения нейросетей. Далее строишь нейросеть, и обучаешь.

    Нейросети не самообучаются и очень ограничены. Их требуется обучать извне.
    Их необходимо тренировать в контролируемых условиях, и далее фиксировать, запрещать развитие. Так обычно и делают.
    Именно такие обученные и зафиксированые сети и представляют коммерческую ценность, являясь законченным продуктом. Нефиксированных сетей боятся как огня - они склонны выкидывать сюрпризы.

    Дело в том, что развитие нейросетей спонтанно, и без контроля приводит к хаосу.
    В контролируемых условиях развитие жестко контролируется, потому сеть и обучается в нужную сторону.
    В боевых условиях сложно либо невозможно создать адекватную систему контроля, так что нередки сюрпризы.

    Либо, если так нужна развивающаяся нейросеть - нужно городить над ней систему динамического контроля, что сложнее, которая будет решать, что хорошо, а что плохо.
    Сложность как раз в том, чтобы определить, что есть хорошо, а что плохо, имея случайный набор данных - сеть ведь должна обучаться в процессе работы.
    Есть задачи, в которых легко определить результат работы нейросети - хорош он или плох. Есть и такие, где это сделать сложно, а то и невозможно - там требуется целая обученная нейросеть просто для контроля другой нейросети.

    Есть и третий вариант, компромиссный - обработка данных фиксированной боевой сетью, а в фоне анализ данных, дальнейшее обучение на них клона боевой сети, уточнение критериев успешности (в т.ч. с участием человека - спешить некуда), тестирование, сравнение результатов с боевой сетью, и, если все круто - в ближайший сервисный период замена боевой сети более развитым клоном. И так в цикле.
    Так более безопасно - развивающаяся сеть никогда не выйдет в боевой режим, пока не будет соответствовать требованиям надежности, а работу выполняет надежная фиксированная от изменений сеть, выдающая стабильный результат без сюрпризов.

    В общем технология примитивная: эволюция и есть эволюция, ты просто определяешь критерии успешности, по которым отделяешь успешные вариации от негодных, и далее фиксируешь положительные изменения, а негативные отбрасываешь.
    Методы обучения можешь погуглить - их несколько, и все они старые.
    Ответ написан
    3 комментария
  • Как решить проблему с DNS (подробнее в содержании)?

    @res2001
    Developer, ex-admin
    В ручных настройках ничего плохого нет, лишь бы они правильные были.
    Ответ написан
    Комментировать
  • Какая программа позволяет визуализировать отчётность о сетевой активности компьютеров в локальной сети?

    gbg
    @gbg Куратор тега Системное администрирование
    Любые ответы на любые вопросы
    Ровно 90 дней назад вы задавали точно такой же вопрос и получали точно такие же ответы. За это время можно было примерно 45 раз вдумчиво развернуть виртуалку с линуксом и Nagios или Zabbix, прикрутить туда RRDTool, сообщения в любой мессенджер, SMS, голосовые уведомления через Астериск, даже нижнее DNIWE, даже летающего макаронного монстра.

    Но нет, вы продолжаете задавать один и тот же банальный вопрос.
    Ответ написан
    Комментировать
  • Есть аналоги Wordpress но попроще?

    @semki096
    Для меня идеал - blogger гугла. Я бы писал на фреймворке.
    Ответ написан
    Комментировать
  • Как правильно расчитать мощность двигателя?

    eapeap
    @eapeap
    Сисадмин, Беларусь
    Задача механизма - просто крутить деревянный круг на стене, и всё??? Типа для дизайна?
    Шумность имеет значение?
    Если боитесь, что помнет привод-редуктор из-за инерционности системы, поставьте фрикцион для защиты. При перегрузке он начнет проскальзывать. Самое простое - шуруповерт вместо мотора. В нем и фрикцион (регилятор усилия - трещетка)), и реверс, и регулятор оборотов уже есть.
    Ответ написан
    3 комментария
  • Какой фирмы мк выбрать и язык?

    @evgeniy_lm
    stm32 это хорошо, но начать, думаю, стоит с Arduino и AVR. Это существенно дешевле и на них собрать реальное устройство гораздо проще. Есть Arduino совместимые платы на stm32
    Ответ написан
  • Как переслать 10ТБ в Китай?

    @Tabletko
    никого не трогаю, починяю примус
    По-моему, проще будет переслать пару жестких дисков почтой.
    Ответ написан
    8 комментариев
  • Как реализовать глобальный KeyPress в C#?

    @dark_Kelvin
    Если нужны горячие клавиши, то используйте RegisterHotKey / UnregisterHotKey
    Если надо отлавливать события KeyDown KeyPress KeyUp, то используйте SetWindowsHookEx с параметром WH_KEYBOARD_LL / UnhookWindowsHookEx
    private bool hooked = false;
    		private IntPtr hHook;
    		private HookProc managedDelegate = InternalCallback;
    		
    		public event KeyEventHandler KeyDown;
            public event KeyEventHandler KeyUp;
    		public event KeyPressEventHandler KeyPress;
    
    		public void StartHook()
            {
                IntPtr delegt = Marshal.GetFunctionPointerForDelegate(managedDelegate);
    			hHook = SetWindowsHookEx(HookType.WH_KEYBOARD_LL, delegt, getMainModuleHandle(), 0);
    			if (hHook == IntPtr.Zero) throw new Win32Exception(Marshal.GetLastWin32Error());
    		}
    		
    		public virtual void Unhook()
            {
    			if (!UnhookWindowsHookEx(hHook)) throw new Win32Exception(Marshal.GetLastWin32Error());
    		}
    		
    		protected int InternalCallback(int code, IntPtr wParam, IntPtr lParam)
            {
                if (code >= 0)
                {
                    bool handled = false;
                    KeyboardHookStruct keyboardHookStruct = (KeyboardHookStruct)Marshal.PtrToStructure(lParam, typeof(KeyboardHookStruct));
    				
    				if (KeyDown != null && ((int)wParam == WM_KEYDOWN || (int)wParam == WM_SYSKEYDOWN))
    				{
    					Keys keyData = (Keys)keyboardHookStruct.VirtualKeyCode;
    					KeyEventArgs e = new KeyEventArgs(keyData);
    					KeyDown.Invoke(null, e);
    					handled = e.Handled;
    				}
    				
    				if (KeyPress != null && (int)wParam == WM_KEYDOWN)
    				{
    					//Перекодирование сканкодов в Ascii
    				}
    				
    				if (KeyUp != null && ((int)wParam == WM_KEYUP || (int)wParam == WM_SYSKEYUP))
    				{
    					Keys keyData = (Keys)keyboardHookStruct.VirtualKeyCode;
    					KeyEventArgs e = new KeyEventArgs(keyData);
    					KeyUp.Invoke(null, e);
    					handled = handled || e.Handled;
    				}
    				
                    if (handled) return 1;
                }
                return CallNextHookEx(hHook, code, wParam, lParam);
            }
    		
    		
    		
    		private IntPtr getMainModuleHandle()
            {
                IntPtr hMod;
                using (Process process = Process.GetCurrentProcess())
                using (ProcessModule module = process.MainModule)
                {
                    hMod = GetModuleHandle(module.ModuleName);
                }
                return hMod;
            }
    
            [DllImport("user32.dll", SetLastError = true)]
            private static extern IntPtr SetWindowsHookEx(HookType hook, IntPtr callback,
                IntPtr hMod, uint dwThreadId);
    
            [DllImport("user32.dll", SetLastError = true)]
            internal static extern bool UnhookWindowsHookEx(IntPtr hhk);
    
            [DllImport("user32.dll")]
            internal static extern int CallNextHookEx(IntPtr hhk, int nCode, IntPtr wParam,
                IntPtr lParam);
    
            [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
            private static extern IntPtr GetModuleHandle(string lpModuleName);
    
            private delegate int HookProc(int code, IntPtr wParam, IntPtr lParam);
    		
    		 private const int
             WM_KEYDOWN = 0x100,
             WM_KEYUP = 0x101,
             WM_SYSKEYDOWN = 0x104,
             WM_SYSKEYUP = 0x105;
    		
            [StructLayout(LayoutKind.Sequential)]
            private struct KeyboardHookStruct
            {
                /// <summary>
                /// Specifies a virtual-key code. The code must be a value in the range 1 to 254. 
                /// </summary>
                public int VirtualKeyCode;
                /// <summary>
                /// Specifies a hardware scan code for the key. 
                /// </summary>
                public int ScanCode;
                /// <summary>
                /// Specifies the extended-key flag, event-injected flag, context code, and transition-state flag.
                /// </summary>
                public int Flags;
                /// <summary>
                /// Specifies the Time stamp for this message.
                /// </summary>
                public int Time;
                /// <summary>
                /// Specifies extra information associated with the message. 
                /// </summary>
                public int ExtraInfo;
            }
    
    		
    		
    	internal enum HookType : int
        {
            ///
            WH_JOURNALRECORD = 0,
            ///
            WH_JOURNALPLAYBACK = 1,
            ///
            WH_KEYBOARD = 2,
            ///
            WH_GETMESSAGE = 3,
            ///
            WH_CALLWNDPROC = 4,
            ///
            WH_CBT = 5,
            ///
            WH_SYSMSGFILTER = 6,
            ///
            WH_MOUSE = 7,
            ///
            WH_HARDWARE = 8,
            ///
            WH_DEBUG = 9,
            ///
            WH_SHELL = 10,
            ///
            WH_FOREGROUNDIDLE = 11,
            ///
            WH_CALLWNDPROCRET = 12,
            ///
            WH_KEYBOARD_LL = 13,
            ///
            WH_MOUSE_LL = 14
        }
    Ответ написан
    3 комментария
  • Нельзя изменить путь установки visual studio 2015.Как исправить?

    Скорее всего что-то еще установлено в указанной папке, и это тоже нужно удалить (это основная причина невозможности сменить путь). Если сейчас Студия удалена, что еще осталось в папке VS2015?
    Ответ написан
    3 комментария
  • Каким способом организовать отправку/получение данных?

    SuccessVM
    @SuccessVM
    Программирование - творчество
    Лучше всего использовать специальные форматы сериализации \ дисериализации данных. Присмотрись к MessagePack, он как раз был создан, как замена формату JSON, только быстрее, есть поддержка на все популярные языки программирования.

    B_Gx0HDW0AAA_eR.png:large

    Можно также использовать Protocol Buffers (Protobuf) от Google, но придётся потратить время на его освоение, хотя бы с недельку, есть нюансы.
    Ответ написан
    Комментировать
  • Плохое качество сигнала Wifi при нагрузке?

    Jump
    @Jump
    Системный администратор со стажем.
    Вероятно нет прямой видимости.
    Адаптер очень слабый.
    Возьмите нормальный адаптер, обеспечьте прямую видимость.
    Ответ написан
    4 комментария
  • Как свернуть forms в трей и развернуть если запущены вычисления?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Функцию заворачиваете в Thread UI работает в основном потоке. По желанию навешиваете евенты для сигнализации о конце работы.

    Thread newThread = new Thread(Work.DoWork);
    newThread.Start(42);
    Ответ написан
    Комментировать
  • Почему не считается остаток от деления в Arduino?

    a_volkov1987
    @a_volkov1987
    Инженер-схемотехник
    arduino.ru/Reference/Serial/Write
    arduino.ru/Reference/Serial/Print

    Видите разницу?
    В первом случае вы результат отправите как бинарный код. И монитор порта отобразит совсем не то, что вы ожидаете.
    Во втором случае вы результат отправите как ASCII текст. То есть, что отправите, то и увидите в мониторе.

    Попробуйте просто для сравнения:
    Serial.write(65);
    Serial.write("65");
    Serial.print(65);

    Вывод: проблема не в математике, проблема в формате вывода результата в порт.
    7704bdbbbae94ba498493b97e096d07e.png

    UPD: ТС для проверки использует Proteus, я - Arduino Leonardo
    Ответ написан
    9 комментариев
  • Сможет ли arduino задетектить с помощью библиотеки OpenCV моргание глаз?

    gbg
    @gbg Куратор тега Arduino
    Любые ответы на любые вопросы
    Нет, по той простой причине, что Open CV не влезет ни в один AVR, а значит, просто не будет работать на ардуине.

    Тут нужен компьютер помощнее.
    Ответ написан
  • Движок для чайника?

    GavriKos
    @GavriKos
    Советую - если вы новичок в программировании - не делайте игры. Или делайте, но не самостоятельно, а в составе студии какой нибудь.

    А так под ваши требования юнити подойдет.
    Ответ написан
    Комментировать
  • Как найти уравнение плоскости максимально приближенной к заданной неровной поверхности?

    @Dum_spiro_spero
    Надо начинать с фразы, "Эй, тостер, погугли за меня!". Ну уж ладно.
    1. Вам надо аппроксимировать ваши точки (x, y, z) плоскостью.
    Аппроксимация данных — с помощью чего найти плоскость?
    2. www.cyberforum.ru/matlab/thread590333.html
    Ответ написан
    Комментировать