当前位置: 首页 > wzjs >正文

义乌建设公司网站公司网站制作天强科技

义乌建设公司网站,公司网站制作天强科技,郑州seo优化外包顾问,施工企业资质增项运行效果 介绍 亮度、对比度、色相和饱和度是常见的视频调整, 在 GStreamer 中统称为 Color Balance 设置。 本教程展示了: • 如何找出可用的色彩平衡通道 • 如何更改它们 允许访问颜色平衡设置。如果 元素支持这个接口,只需将其转发给应用…
运行效果

在这里插入图片描述

介绍

     亮度、对比度、色相和饱和度是常见的视频调整, 在 GStreamer 中统称为 Color Balance 设置。 本教程展示了:

          • 如何找出可用的色彩平衡通道

          • 如何更改它们

     允许访问颜色平衡设置。如果 元素支持这个接口,只需将其转发给应用程序,否则会有一个 colorbalance 元素插入到管道中。

GStreamer相关运行库
INCLUDEPATH += D:/Software/GStreamer/1.0/mingw_x86_64/include/gstreamer-1.0/gst
INCLUDEPATH += D:/Software/GStreamer/1.0/mingw_x86_64/include
INCLUDEPATH += D:/Software/GStreamer/1.0/mingw_x86_64/include/gstreamer-1.0
INCLUDEPATH += D:/Software/GStreamer/1.0/mingw_x86_64/include/glib-2.0
INCLUDEPATH += D:/Software/GStreamer/1.0/mingw_x86_64/lib/glib-2.0/includeLIBS += D:/Software/GStreamer/1.0/mingw_x86_64/lib/gstreamer-1.0.lib
LIBS += D:/Software/GStreamer/1.0/mingw_x86_64/lib/glib-2.0.lib
LIBS += D:/Software/GStreamer/1.0/mingw_x86_64/lib/gobject-2.0.lib

源码
#include <string.h>
#include <stdio.h>
#include <gst/gst.h>
#include <gst/video/colorbalance.h>typedef struct _CustomData
{GstElement *pipeline;GMainLoop *loop;
} CustomData;/* 处理色彩平衡命令 */
static void update_color_channel (const gchar *channel_name, gboolean increase, GstColorBalance *cb)
{GstColorBalanceChannel *channel = NULL;/* 检索频道列表并找到所请求的频道 */const GList *channels = gst_color_balance_list_channels (cb);for (const GList *l = channels; l != NULL; l = l->next){GstColorBalanceChannel *tmp = (GstColorBalanceChannel *)l->data;if (g_strrstr (tmp->label, channel_name)){channel = tmp;break;}}if (!channel){return;}/* 更改通道值 */gdouble step = 0.1 * (channel->max_value - channel->min_value);gint value = gst_color_balance_get_value (cb, channel);if (increase){value = (gint)(value + step);if (value > channel->max_value)value = channel->max_value;}else{value = (gint)(value - step);if (value < channel->min_value)value = channel->min_value;}gst_color_balance_set_value (cb, channel, value);
}/* Output the current values of all Color Balance channels */
static void print_current_values (GstElement *pipeline)
{/* 输出所有色彩平衡通道的当前值 */const GList *channels = gst_color_balance_list_channels (GST_COLOR_BALANCE (pipeline));for (const GList *l = channels; l != NULL; l = l->next){GstColorBalanceChannel *channel = (GstColorBalanceChannel *)l->data;gint value = gst_color_balance_get_value (GST_COLOR_BALANCE (pipeline), channel);g_print ("%s: %3d%% ", channel->label, 100 * (value - channel->min_value) / (channel->max_value - channel->min_value));}g_print ("\n");
}/* 处理键盘输入 */
static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomData *data)
{gchar *str = NULL;if (g_io_channel_read_line (source, &str, NULL, NULL, NULL) != G_IO_STATUS_NORMAL) {  return TRUE; }switch (g_ascii_tolower (str[0])){case 'c':update_color_channel ("CONTRAST", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline));break;case 'b':update_color_channel ("BRIGHTNESS", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline));break;case 'h':update_color_channel ("HUE", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline));break;case 's':update_color_channel ("SATURATION", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline));break;case 'q':g_main_loop_quit (data->loop);break;default:break;}g_free (str);print_current_values (data->pipeline);return TRUE;
}int main(int argc, char *argv[])
{/* 初始化GStreamer */gst_init (&argc, &argv);/* 初始化数据结构 */CustomData data;memset (&data, 0, sizeof (data));/* 打印按键功能 */g_print ("USAGE: Choose one of the following options, then press enter:\n"" 'C' to increase contrast, 'c' to decrease contrast\n"" 'B' to increase brightness, 'b' to decrease brightness\n"" 'H' to increase hue, 'h' to decrease hue\n"" 'S' to increase saturation, 's' to decrease saturation\n"" 'Q' to quit\n");/* 构建管道 */data.pipeline = gst_parse_launch ("playbin uri=https://gstreamer.freedesktop.org/data/media/sintel_trailer-480p.webm", NULL);/* 添加键盘监视器,以便我们收到按键通知 */
#ifdef G_OS_WIN32GIOChannel *io_stdin = g_io_channel_win32_new_fd (fileno (stdin));
#elseGIOChannel *io_stdin = g_io_channel_unix_new (fileno (stdin));
#endifg_io_add_watch (io_stdin, G_IO_IN, (GIOFunc)handle_keyboard, &data);/* 开始播放 */GstStateChangeReturn ret = gst_element_set_state (data.pipeline, GST_STATE_PLAYING);if (ret == GST_STATE_CHANGE_FAILURE){g_printerr ("Unable to set the pipeline to the playing state.\n");gst_object_unref (data.pipeline);return -1;}print_current_values (data.pipeline);/* 创建GLib主循环 */data.loop = g_main_loop_new (NULL, FALSE);g_main_loop_run (data.loop);/* 释放资源 */g_main_loop_unref (data.loop);g_io_channel_unref (io_stdin);gst_element_set_state (data.pipeline, GST_STATE_NULL);gst_object_unref (data.pipeline);return 0;
}

关注

笔者 - jxd

http://www.dtcms.com/wzjs/786688.html

相关文章:

  • 公司门户网站什么意思深圳网站优化方式
  • 上海专业网站建设渠道国美电器如何进行网站的建设与维护
  • 设计logo网站哪个好泉州专业网站建设公司哪家好
  • 国外html5模板网站wordpress 4.7.11搬家
  • 贵阳市做网站公司阿里云nas做网站
  • 网站做子页面怎么做关键词难易度分析
  • 网站文章的作用网站文字排版
  • 做网站时怎么添加动态信息全国工程信息平台官网
  • 外国人在中国做视频网站湖南衡阳网站建设
  • iis7建网站网站推广优化外包公司哪家好
  • 益阳网站建设网站好看的网站的导航怎么做
  • 不花钱网站怎么做网站建设公司的公司
  • wordpress自适应站点网站建设公司如何约客户
  • 敬请期待换个说法网站seoapp
  • 网站开发使用哪些开发语言wordpress统计在线人数
  • 网站建设及运营 多少钱淘宝客是以下哪个网站的会员简称
  • 深圳手机商城网站设计公司理财公司网站模板下载
  • 新手如何学网站建设智慧团建电脑版登录
  • 前端静态网站模板产品经理做网站
  • 做公司网站教程视频纯净系统基地
  • 河南公司网站可以做天津备案吗wordpress企业建站教程
  • 河南周口东宇网站建设中国建设网建设通
  • 深圳龙华汽车站附近有做网站建设的网站正在建设中源码
  • 网站推广排名报价网站内容的重要性
  • iis如何设置服务器上网站空间大小wordpress cdn 阿里云
  • 有了域名 怎么做网站自己架设的传奇怎么做网站
  • 网站用的什么数据库私人可以买服务器吗
  • 北京网站建设成都企业建设网站的主要目的
  • 网站运营分析wordpress免费别人无法访问
  • 有口碑的番禺网站建设付费小说网站怎么做