Если Вы программист, то должны понимать, что это сделать, строго говоря, невозможно. Естественный свет имеет спектр, очень похожий на спектр гармонического осциллятора. Искусственный свет, используемый в фотографии, тоже имеет либо точно такой же спектр, либо очень похожий -- инженеры приложили к этому немало усилий. Свет, который запечатлевает фотоаппарат ---это, как правило, не свет источника, а отраженный свет; поверхности, от которых отражается свет, имеют нетривиальные характеристики ---и спектр отраженного света меняется довольно непредсказуемо. Дальше этот спектр проецируется на 3 колокольчика (характеристики фильтров R,G и -- и проекции становятся ещё более неотличимы в "естественном" и "искусственном" случаях. Далее в дело вступают алгоритмы постобработки (в камере и/или RAW-редакторе) , которые не только меняют цветовую температуру (не забывайте, что свет от лампочки накаливания (искусственный источник) и ближайшей к нам звезды (естественный источник) отличается только цветовой температурой) . Эти алгоритмы (если им сказать) понимают не только гармонический спектр; например, мой фотоаппарат имеет режим "люминесцентное освещение", у которого спектр полосчатый ---после постобработки проекции меняются так, как будто свет приходил от гармонического источника. Ну и стоит к этому добавить присутствующую на большинстве современных фотографий обработку, которая вносит ещё больше путаницы.
Глаз определяет (с ошибками) случаи явно неестественного освещения, сопоставляя сюжет и изображение. Например, можно с уверенностью сказать, что освещение искусственное, если фотография сделана на нашей планете, на ней изображен закат, но свет на объект на ПП падает, например, с Востока. Или, например, если объект отбрасывает две тени. Или, например, в зрачке модели отразился софбокс. У меня есть снимок, который в тупик ставил многих фотогафов (обычный зритель "проблемы" не видит) : модель на улице, свет от солнца контровый, а на волосах спереди и чуть сбоку блик. Вряд ли программе по силам такой анализ.
Если в фотографии присутствуют редкие цвета (например, относительно большие значения в каналах a или b), то можно предположить, что либо снят какой-нибудь экзотический (и, значит, искусственный) источник света (например, неоновая реклама) , либо изображение подверглось коррекции в графическом редакторе (сейчас модно повышать цветовой диапазон) .